嘿嘿抱歉另一个奇怪的问题......
我有25 UserControl
个Start_Button
,每个Start_Button
Visible
可以是UserControl
,取决于form1
是否为Start_All
活性。在我的UserControl
我有一个Start_Buttons
按钮。
我想模拟所有仅{{1}}的{{1}}的点击。
答案 0 :(得分:3)
不是模拟点击事件,而是公开启动功能的方法,并从Start_Button.Click
- 事件中调用此方法。然后,您可以从任何地方使用此方法。通过这种方式,您的代码仍然可读并可重复使用。
您还应该在Active
中提供UserControl
属性,您只需链接到开始按钮的Visible
- 属性即可。
假设用户控件位于容器控件中,如Panel
:
Public Sub StartAll()
Dim allActiveUserControls =
From uc In controlPanel.Controls.OfType(Of MyUserControlType)()
Where uc.Active
For Each uc In allActiveUserControls
uc.Start()
Next
End Sub
以下是Active
属性的示例:
Public Property Active As Boolean
Get
Return StartButton.Visible
End Get
Set(value As Boolean)
StartButton.Visible = value
End Set
End Property
以下是Start
方法和事件处理程序:
Public Sub Start()
' Do Something ... '
End Sub
Private Sub StartButton_Click(sender As System.Object, e As System.EventArgs) Handles StartButton.Click
Start()
End Sub
Private Sub Start_All_Click(sender As System.Object, e As System.EventArgs) Handles Start_All.Click
StartAll()
End Sub