メソッドの 1 つのアドレスに多くのハンドラを設定しようとしています。たとえば、すべてのハンドラーが設定されると、次のコードを記述するのと同じになります。
Private Sub ModificationsMade(sender As Object, e As System.EventArgs) Handles Analyse_tbCurrentDescription.TextChanged, Analyse_tbNewDescription.TextChanged, Analyse_tbTimeTests.TextChanged, Analyse_tbTimeInstallation.TextChanged, Analyse_tbTimeMaintenance.TextChanged, Analyse_nupCurrentAmount.ValueChanged, Analyse_nupNewAmount.ValueChanged, Analyse_cbCurrentTime.SelectedIndexChanged, Analyse_cbCurrentOccurence.SelectedIndexChanged, Analyse_cbNewTime.SelectedIndexChanged, Analyse_cbProgrammer.SelectedIndexChanged, Analyse_dgvTasks.CellValueChanged
Analyse_Saved = False
End Sub
私のAnalyse_Saved
変数は、変更されたリストビュー項目で使用されています。それが本当なら、すでに保存されているので、何も保存する必要はありません。ただし、それが誤りである場合は、変更が行われたので、アイテムを変更する前にユーザーに情報を保存するように求める必要があります。
ご覧のとおり、変更の場合にそれぞれのイベントによって処理される多くのコントロールがあります。これにより、フォームでアイテムが変更された場合にユーザーに通知できます。
唯一の問題は、ユーザーがリストビューの項目を変更すると、テキスト ボックス、コンボ ボックスなどに情報が入力されるため、これらすべてのイベントがトリガーされることです。このため、それに応じてハンドラーを追加および削除します。
残念ながら、次のように各コントロールを処理するための行を追加したくありません。
AddHandler Analyse_tbCurrentDescription.TextChanged, AddressOf ModificationsMade
私の質問は、複数のハンドラーを 1 つのアドレス宛先に追加する最も簡単な方法は何ですか?