当前的联系项目中用到了这个,在此记录一下,与大家分享~
在网上看到有把窗口传过去的,虽说也有效,但为了调用个方法,把整个窗口给创建一次,总觉得有些不好,所以,我选用委托来解决。
首先建立两个窗口:MainForm 和 SubForm
SubForm 的关键代码如下:
public partial class SubForm : Form { public SubForm() { InitializeComponent(); } public delegate void updateParentData(object sender); public event updateParentData updateIt; private void button1_Click(object sender, EventArgs e) { if (this.updateIt != null) { updateIt(null); } }
接下来是MainForm,关键代码如下:
private void button_add_Click(object sender, EventArgs e) { SubForm subform = new SubForm(); subform.updateIt += new SubForm.updateParentData(doSomething); subform.ShowDialog(); }
另外,既然是刷新父窗口数据,那么,父窗口还要有个操作数据的方法:
void doSomething(object sender) { //做些什么 }
完毕!