c#窗口调用:form1是主窗体,show form2之后如何调用form1里的函数?

来源:百度知道 编辑:UC知道 时间:2024/05/06 06:28:36
本人新手,希望高手们能详细教教。

Form1 frm=new Form1(this);
Form1里要调用的函数需要是public的
然后frm.xxx();就可以了

1.首先,form1里面需要调用的方法肯定是public的
2.在申明form2时传一个form1的引用进去.
3.在form2里就可以访问拉

form2里申明一个form1的变量
private Form1 frm1;
Form2的构造函数为
public Form2(Form1 frm)
{
this.frm1=frm;
}
这时在form2里就可以用 frm1.xxx访问了.

---------------------------
在form1里面实例化form2时,
Form2 frm=new Form2(this);

在form2的某个地方,实例化form1的一个对象,就可以引用form1内的任何公共元素了。例如:
Form1 fm1=new Form1();
然后fm1.方法();就可以了

同意楼上的看法.
当然可以考虑一下静态方法
1.Form里面定义一个public static [类型] XXX()

2Form1中:
Form2 frm=new Form2();
frm.show();
然后Form.XXX();
注:Form是一个类,不是实例

在Form2里面实例化Form1:Form1 fm=new Form1();这样就可以调用Form1里面的一些公共函数和变量,直接fm.就可以找到Form1里面你想要的公共函数!!

Form2的构造函数为
public Form2(Form1 frm)

Form1中:
Form2 frm=new Form2(this);
frm.shoa();
然后frm.xxx();就可以了
注:xxx为Form1中的public函数