首页 > 解决方案 > 无法引发其他表单的按钮单击事件

问题描述

我有两个表格form1和form2。form1 有 button1,form2 有 button2。我想要实现的是当我点击 button1 时 form2 应该被显示并且 button2 必须被点击。我已经在 button1 点击事件中尝试了下面提到的代码。

form2.ShowDialog
form2.button2.PerformClick

或者

form2.ShowDialog
form2.button2_Click(Nothing, Nothing)

或者

Dim frm as New form2
frm.ShowDialog
frm.button2.PerformClick

或者

Dim frm as New form2
frm.ShowDialog
frm.button2_Click(Nothing, Nothing)

但是上述方法都不起作用。仅显示 form2,但未单击 button2。

我再次尝试公开 'button2_Click' 事件,但仍然无法正常工作。

标签: vb.netbuttoninstanceshowdialog

解决方案


您当前方法的问题是代码在ShowDialog()运行时以当前形式停止。

一种解决方案是创建 Form2 的实例并连接Shown()事件,该事件在显示表单后运行。

从那里,您可以使用您创建的表单实例单击按钮:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim f2 As New Form2
    AddHandler f2.Shown, Sub()
                             f2.Button2.PerformClick()
                         End Sub
    f2.ShowDialog()
End Sub

推荐阅读