[英]vb.net background of form registered as a button when clicked
我在vb.net中创建了一个系统,该系统允许您单击按钮,并且它将相应地更改颜色。 它使用的代码将用于每个按钮,而无需单独引用每个按钮。
Dim btn As Button = Nothing
For Each ctrl As Control In Me.Controls
If TypeOf ctrl Is Button Then
btn = DirectCast(ctrl, Button)
AddHandler btn.Click, AddressOf Me.btn_Click
End
Next
这对于按钮来说是正确的,但是当您单击并单击表单的背景时,它将背景注册为按钮并中断了系统。
希望这是有道理的。
您可以使用Me.Controls.OfType()函数,该函数将返回具有指定Type的控件的集合:
Me.Controls.OfType(Of Button)().ToList.
ForEach(Sub(bt As Button) AddHandler bt.Click, AddressOf Me.btn_Click)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.