У меня возникли некоторые проблемы с сбросом обработчиков событий в мои таблицы данных в проекте, над которым я работаю.
У меня есть ряд сетевых таблиц, которые я заполняю значениями из тестирующего устройства, подключенного кпоследовательный порт.После завершения сеанса тестирования я хотел бы сбросить таблицы данных для нового сеанса.
Моя проблема заключается в том, что я зарегистрировал события для щелчков ячеек в каждой созданной ячейке, и это событие сохраняется, когда я очищаю представления данных.
Я устанавливаю значения в сетке данных программно
Вот как я добавляю события cellclick:
for (int i = 0 ; i < dgList.Count ; i++) //dgList is list of datagridviews
{
int numberForEvent = i; //i is datagrid nr i
dgList[i].CellClick += ((sender, e) =>
{
alterValueClick(numberForEvent, e.RowIndex);
});
}
Он работает нормально при первом использовании моей программы, но еслиЯ сбрасываю сетки данных для нового сеанса тестирования, события регистрируются дважды и т. Д.
У кого-нибудь есть идеи о том, как очистить события, или я ошибаюсь в своем дизайне?