在线等!C#窗体关闭问题!

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:56:18
我 的在 主窗体 mainform 里面 实例化了 一个 新的窗体 form2,并且show()了出来
我希望 关闭 form2窗体的时候,主窗体 进行一次刷新(因为 我在 form2里面 操作了 部分 数据)。。
请问 如何 实现??

求教 大侠!

在Form2的关闭事件中写刷新的代码。以下代码写在Form1中

以下是弹出窗体Form2的代码:
private void btnShowForm2_Click(object sender, EventArgs e)
{

Form2 frm = new Form2();
frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
frm.Show();
}
以下为刷新窗体Form1的代码
void frm_FormClosed(object sender, FormClosedEventArgs e)
{
this.RefreshData(); //这里是你刷新Form1的逻辑,包括重置一些文本框的值,重新绑定数据等操作
}

自定义一个方法

再用 ShowDialog

在Showdialog()
后面加上你自定义的方法

这样就能实现了

Form2 f2 = new Form2();
f2.FormClosed += delegate(object sender, FormClosedEventArgs e)
{
//刷新数据
};
f2.Show();
}

//mainform 中
form2 form2 = new form2();
if(form2.showdialog().dialogresult==cancel)
{
mainform .刷新();
}
这样只要form2关闭了,不管你点关闭按钮还是右上角那个红X,mainform 一定执行刷新方法。
如果不这么写,点红X不会监视到form2关闭的,貌似可以重写那个红X