第一步:在窗体2中
定义委托
定义事件
public delegate void Change(string newSendEmails);//定义委托 改委托要和UI中的现实方法一样 public event Change myChangeevent;//定义事件
在某个方法或者事件里面
执行事件
myChangeevent(sb.ToString());//执行事件
第二步:在窗体1中
定义一个和窗体2委托对应形参和返回值的方法(事件执行方法)
//事件执行方法 public void SetSendEmail(string newEmails) { this.textBoxSendEmailList.Text = newEmails; }
在load中 注册事件
private void buttonSendEmailSum_Click(object sender, EventArgs e) { FormSendEmailSift fromSendEmailSift = new FormSendEmailSift(this.QqEntityList); fromSendEmailSift.myChangeevent += new FormSendEmailSift.Change(SetSendEmail);//注册事件 fromSendEmailSift.Show(); }
这样 在窗体2中 点击某个按钮或者执行方法就会使得窗体1执行某个方法 这个方法就可以去执行你想要的代码了
达到在不同窗体直接传值