VB2019如何通过代码触发动态创建按钮的Click事件?
如何通过代码触发动态创建按钮的Click事件
根据你提供的代码,有几种简单的方式实现代码触发按钮的Click事件:
方法1:利用已有的Buttons字典(推荐)
你已经将每个字母按钮存入了Buttons字典(键为按钮文本,值为按钮实例),直接通过键获取目标按钮后调用PerformClick()方法,就能完整模拟用户点击操作:
' 示例:触发字母"A"对应的按钮点击 If Buttons.ContainsKey("A") Then Buttons("A").PerformClick() End If
如果你只需要执行Button_Click里的逻辑(变色+禁用),也可以直接调用该事件处理函数:
' 示例:直接执行字母"B"按钮的点击逻辑 If Buttons.ContainsKey("B") Then Button_Click(Buttons("B"), EventArgs.Empty) End If
方法2:通过控件名称或遍历查找按钮
如果没有依赖字典,也可以利用你设置的按钮Name属性(与文本一致),从PanelLetras容器中查找目标按钮:
' 示例:查找并触发字母"C"按钮的点击 Dim targetBtn As Button = DirectCast(Me.PanelLetras.Controls("C"), Button) If targetBtn IsNot Nothing Then targetBtn.PerformClick() End If
或者遍历PanelLetras里的所有控件,筛选出目标按钮:
' 示例:遍历找到字母"D"的按钮并触发点击 For Each ctrl As Control In Me.PanelLetras.Controls If TypeOf ctrl Is Button AndAlso ctrl.Text = "D" Then DirectCast(ctrl, Button).PerformClick() Exit For End If Next
两种方式的区别
PerformClick():会触发按钮所有绑定的Click事件处理器,完全模拟用户手动点击的行为。- 直接调用
Button_Click:仅执行你写的那段变色和禁用逻辑,不会触发其他可能绑定的Click事件。
内容的提问来源于stack exchange,提问作者Pedro Ramos
相关产品推荐
相关产品推荐

