DataGridView теряет DataSource после того, как окно теряет фокус - PullRequest
0 голосов
/ 30 января 2020

Пройдите этот странный бал. Может быть что-то простое, но это поставило меня в тупик.

У меня есть DataGridView, реализованный, скажем, в FormA. DataGrid имеет источник данных, который представляет собой таблицу из набора данных.

У меня есть столбец в DGV, представляющий собой кнопку, которая запускает другую форму, называемую FormB. Затем данные из FormB помещаются в переменные, а затем после закрытия FormB запускается таймер на FormA, который затем проверяет, есть ли новые данные для обновления строки, которой принадлежала кнопка.

Значения из указанных столбцов c затем обновляются в DGV соответственно.

Все это прекрасно работает, пока FormA не станет формой запуска приложений. Если я поставлю форму C, которая будет действовать как логин, а затем при успешном входе запустит FormA до самого закрытия, все будет работать нормально, пока я не нажму кнопку в столбце DGV. Как только FormB запускается, на этот раз DataSource для DGV устанавливается в ничто, и на этот раз, когда таймер срабатывает, я получаю ошибку Index of bounds (что следовало ожидать, так как мой DGV теперь имеет 0 строк и 0 столбцов!). Как будто FormA не может ссылаться на свой собственный DataGridView, даже если эта форма еще не закрыта.

Не уверен, какой код предоставить, но с удовольствием расскажу, какая часть, по вашему мнению, может быть проблемой.

...