В начале функции VB .NET я удаляю обработчик событий и снова добавляю его в конец функции, потому что код функции будет вызывать эти события, и я не хочу, чтобы они срабатывали в течение всей функции.Обычно это работает, но я столкнулся с несколькими ситуациями, когда событие все еще вызывается, даже если я уже удалил его.Иногда удаление его дважды в начале функции исправляет это, но в других случаях, независимо от того, сколько раз я его удаляю, оно все равно срабатывает.Любые идеи о том, что может быть причиной этого?
Изменить
Код находится в форме, которая имеет представление данных в виртуальном режиме.Я хочу запустить некоторые операции, которые вызовут событие CellValueNeeded для datagridview без запуска этого события (потому что это будет мешать).
Public Sub DoEventRaisingStuff()
RemoveHandler grid.CellValueNeeded, AddressOf grid_CellValueNeeded
'Do things that would trigger CellValueNeeded
AddHandler grid.CellValueNeeded, AddressOf grid_CellValueNeeded
End Sub
Многократное удаление обработчика не препятствует запуску события, поэтомукажется, что он не был добавлен несколько раз случайно где-то еще.
Есть ли способ узнать, какие обработчики событий активны?