我正在.net开发一个基于Windows的应用程序。
我有两种形式。 Form2实例化并在form1中发生事件时显示。
public partial class Form1 : Form
{
...
private void button1_Click(object sender, EventArgs e)
{
....
}
public void button2_Click(object sender, EventArgs e)
{
Form2.parent = this;
Form2 f2 = new Form2();
f2.show();
}
}
public partial class Form2 : Form
{
...
public static Form parent;
private void button3_Click(object sender, EventArgs e)
{
.... //want to call Form1's button1_Click() function.
}
}
现在在Form2的button3_Click()函数中,我想调用Form1的button1_Click()方法。
我试过
parent.button1_Click(button3,null);
但这不起作用。
请帮忙!
答案 0 :(得分:3)
您需要将parent
声明为Form1
类型,而不是Form
。
我个人会把它放在构造函数中,而不是将它作为公共静态变量:
public partial class Form1 : Form
{
public void button2_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.show();
}
}
...
public partial class Form2 : Form
{
Form1 parent;
public Form2(Form1 parent)
{
this.parent = new parent;
}
}