我希望将许多处理程序设置为我的一种方法的地址。例如,一旦设置了我的所有处理程序,它就与编写以下代码相同:
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 个地址目标的最简单方法是什么?