首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

怎么让form1下的控件执行form2下控件的代码

2013-03-19 
如何让form1上的控件执行form2上控件的代码?比如form1上有按钮button_form1,form2上有按钮button_form2,bu

如何让form1上的控件执行form2上控件的代码?
比如form1上有按钮button_form1,form2上有按钮button_form2,button_form2_click下有代码:
msgbox("button_form2")

我想在点击button_form1时去执行button_form2的单击代码,请问如何做?

是同一个程序的两个不同的窗体之间。
[解决办法]
两个窗体都被打开了吧

关系是什么呢  是form1打开的form2  还是2打开的1
[解决办法]
最简单的办法,将form2的按钮设置为public的。
然后form2.button1.PerformClick();
[解决办法]

Public Class Form1
    Private Sub Form_Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form_Button1.Click
        Dim frm2 As New Form2
        frm2.Show()
        frm2.Form2_Button1.PerformClick()
    End Sub
End Class

Public Class Form2
    Private Sub Form2_Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form2_Button1.Click
        MsgBox(Me.ToString)
    End Sub
End Class

[解决办法]
PerformClick有时候不好用,单线程就可以,跨线程好像不行。
试试:
button_form2.click(Nothing,Nothing)
[解决办法]
首先Form都是类,在相互通讯之前先实例化(执行打开)
其次将被其他类或窗体执行的程序改为Public或Friend。
然后在Form2中可引用Form1.RunProc
[解决办法]
Dim frm2 As Form2
frm2.button_form2_click(Nothing,Nothing) ' 需在Form2的button_form2_click的Sub Private 改成 Public

热点排行