我对Windows窗体不是很熟悉。想请问一下,是否可以在表格2中的按钮点击时触发表格1中的方法?
我的表格1有一个组合框,表格2有一个保存按钮。我想要实现的是:
当用户在表格2中单击保存时,我需要检查表格1是否已打开。如果已经打开,我希望获取该实例并调用在表格1上重新填充组合框的方法。
如果您有任何指导,请告诉我,我将不胜感激。
另外,表格1和表格2彼此独立,用户可以按任意顺序打开它们。
foreach (Form form in Application.OpenForms)
{
if (form.GetType() == typeof(Form1))
{
((Form1)form).Close();
}
}
YourMethod
。public class Form1 : Form
{
public static event EventHandler MyEvent;
public Form1()
{
Form1.MyEvent += new EventHandler(MyEventMethod);
}
private void MyEventMethod(object sender, EventArgs e)
{
//do something here
}
public static void OnMyEvent(Form frm)
{
if (MyEvent != null)
MyEvent(frm, new EventArgs());
}
}
public class Form2 : Form
{
private void SaveButton(object sender, EventArgs e)
{
Form1.OnMyEvent(this);
}
}
嗨,我尝试了你的方法,但是我无法做到这一点 ----- if(Form1.MyEvent != null) Form1.Myevent(this, new EventArgs());
我得到了编译时错误。 - Rashmi Pandit