【发布时间】:2011-09-26 10:38:34
【问题描述】:
当表单加载时,我有一堆从数据库中填充的控件。我正在使用字典(control.Name 作为键和 Control.Value 作为值)来存储初始值。当用户更改值时,我正在使用其他字典加载当前值并将其与初始字典进行比较。如果值不同,我正在运行某种代码来提示用户进行更改。我认为它更hackish并寻找更好的解决方案。请指教。
谢谢
【问题讨论】:
标签: c# windows winforms events
当表单加载时,我有一堆从数据库中填充的控件。我正在使用字典(control.Name 作为键和 Control.Value 作为值)来存储初始值。当用户更改值时,我正在使用其他字典加载当前值并将其与初始字典进行比较。如果值不同,我正在运行某种代码来提示用户进行更改。我认为它更hackish并寻找更好的解决方案。请指教。
谢谢
【问题讨论】:
标签: c# windows winforms events
试试这个
For Each ctrl As Control In me.Controls
If TypeOf ctrl Is CheckBox Then
AddHandler (DirectCast(ctrl, CheckBox).CheckedChanged), AddressOf Control_Changed
ElseIf TypeOf ctrl Is TextBox Then
AddHandler (ctrl.TextChanged), AddressOf Control_Changed
ElseIf TypeOf ctrl Is NumericUpDown Then
AddHandler (DirectCast(ctrl, NumericUpDown).ValueChanged), AddressOf Control_Changed
End If
Next
Sub Control_Changed(ByVal sender As Object, ByVal e As EventArgs)
' handle events here
End Sub
【讨论】: