如何检查焦点动态创建的控件

本文关键字:动态 创建 控件 焦点 何检查 检查 | 更新日期: 2023-09-27 18:18:29

在我的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