繁体   English   中英

单击时注册为按钮的表单的vb.net背景

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM