繁体   English   中英

如何检查集中动态创建的控件?

[英]How to check focused dynamically created controls?

在我的Windows窗体中,控件是动态创建的。 所以现在,我可以检查哪种形式的事件具有焦点?

例如,我在窗体加载时动态创建4个按钮,此后,如果我单击一个按钮,则其他3个应该消失。窗体上没有其他内容。

如果可以处理单击事件,则无需知道哪个控件具有焦点。 为所有按钮创建一个处理程序。 动态创建按钮后,为其添加处理程序。 此代码可能会在创建按钮的循环中进入。 或者您可以明确地使它们每个。 例如:

Dim newButton As New Button
AddHandler newButton.Click, AddressOf buttonClicked

这是处理程序:

Private Sub buttonClicked(sender As Object, e As EventArgs)
    'Handle the click event here.
    Dim clickedButton As Button = CType(sender, Button)
    For Each c As Control In Controls
        If TypeOf c Is Button Then
            If Not c.Equals(clickedButton) Then
                c.Visible = False
            End If
        End If
    Next
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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