Form1中调用Form2,要求在Form2中发生某件事时Form1也能收到其事件并能做相应处理。
在Form2中要有如下代码:
public partial class Form2 : Form
{
……
public event EventHandler Applyevent;//定义事件
……
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("我在Form2的button1_Click方法中,发生Form2的button1,Click事件。");
if(Applyevent!=null) //不知道这句是干什么的,没有好象也可以
Applyevent(this, EventArgs.Empty);//这句是必须的
}
}
在Form1中要有如下代码:
public partial class Form1 : Form
{
Form2 form2;
public Form1()
{
InitializeComponent();
form2 = new Form2();
}
private void button1_Click(object sender, EventArgs e)
{
form2.Applyevent+=new EventHandler(form2_Applyevent);//订阅form2中的Applyevent事件
form2.Show();
}
void form2_Applyevent(object sender, EventArgs e)//form2中的Applyevent事件发生后执行的代码
{
MessageBox.Show("我在Form1的form2_Applyevent方法中,发生Form2的button1,Click事件,以及订阅的Applyevent事件");
}
}
阅读(792) | 评论(0) | 转发(0) |