VB .NET関数の開始時に、イベントハンドラーを削除し、関数の最後に再度追加します。これは、関数のコードがこれらのイベントをトリガーし、関数の期間中はイベントをトリガーしたくないためです。これは通常は機能しますが、イベントを削除したにもかかわらず、イベントが呼び出される状況がいくつか発生しました。関数の最初に2回削除すると修正される場合もありますが、何度削除しても起動する場合もあります。これを引き起こしている可能性があるものについてのアイデアはありますか?
編集
コードは、仮想モードのdatagridviewを持つフォームにあります。datagridviewのCellValueNeededイベントをトリガーするいくつかの操作を実行したいのですが、そのイベントは発生しません(干渉するため)。
Public Sub DoEventRaisingStuff()
RemoveHandler grid.CellValueNeeded, AddressOf grid_CellValueNeeded
'Do things that would trigger CellValueNeeded
AddHandler grid.CellValueNeeded, AddressOf grid_CellValueNeeded
End Sub
ハンドラーを複数回削除してもイベントの発生が妨げられることはないため、誤って別の場所にハンドラーが複数回追加されたようには見えません。
どのイベントハンドラーがアクティブであるかを確認する方法はありますか?