我在表单上大约有140个ComboBox。当有人在其中一个框内选择一个新项目时,我想突出显示该框。
我想使用SelectionChangeCommitted事件,并使用以下代码:
Private Sub cmbDesk1_SelectionChangeCommitted(sender As System.Object, e As System.EventArgs) Handles cmbDesk1.SelectionChangeCommitted
Dim tbControl As ComboBox = DirectCast(sender, ComboBox)
tbControl.BackColor = Drawing.Color.Red
tabFloor1.Focus()
我知道我可以在子例程声明的“句柄”部分之后添加额外的行,但是这样做有一种巧妙的方法而又不向其中添加每个ComboBox? 类似于
Me.TabPage1.Controls.OfType(Of ComboBox)()
亲切的问候
马特
答案 0 :(得分:4)
您始终可以自己循环播放所有组合框和AddHandler。
For Each cb As ComboBox In Me.TabPage1.Controls.OfType(Of ComboBox)()
AddHandler cb.SelectionChangeCommitted, AddressOf cmbDesk1_SelectionChangeCommitted
Next
这应该做一次。