【问题标题】:Using Generic Event Handler for Controls in Windows Forms!为 Windows 窗体中的控件使用通用事件处理程序!
【发布时间】:2011-09-26 10:38:34
【问题描述】:

当表单加载时,我有一堆从数据库中填充的控件。我正在使用字典(control.Name 作为键和 Control.Value 作为值)来存储初始值。当用户更改值时,我正在使用其他字典加载当前值并将其与初始字典进行比较。如果值不同,我正在运行某种代码来提示用户进行更改。我认为它更hackish并寻找更好的解决方案。请指教。

谢谢

【问题讨论】:

    标签: c# windows winforms events


    【解决方案1】:

    试试这个

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-18
      • 1970-01-01
      相关资源
      最近更新 更多