原帖及讨论:http://bbs.bccn.net/thread-106377-1-1.html /// form1为基类 namespace WindowsApplication1 { public partial class Form1 : Form { //我自定义的事件 public event EventHandler myevent; public Form1() { InitializeComponent(); } public void myfunc(int a, int b) { if (myevent != null) { myevent(null , null); } } } } /// form2从form1派生,form2为执行类 namespace WindowsApplication1 { public partial class Form2 : Form1 { Form1 f = new Form1(); public Form2() { InitializeComponent(); f.myevent += new System.EventHandler(diaoyong); } public void diaoyong(object o,EventArgs e) { MessageBox.Show ("派生类执行"); } private void button1_Click(object sender, EventArgs e) { f.myfunc(1, 1); } } } 运行结果是 : 弹出对话框"派生类执行"; public Form2() { InitializeComponent(); f.myevent += new System.EventHandler(diaoyong);//这里是注册 } myevent(null , null);//这是执行,调用的就是所注册的 diaoyong()
 
|