大家都有这样的经历:
  打开VS--〉新建应用程序(FORM1)--〉往里面挪按钮--〉双击按钮--〉写代码
  这看上去那么的自然,简单,可仔细想一下,窗口(FORM1)是一个类,按钮(Button)是另一个类,FORM1怎么知道按钮点击了?
  
  仔细看看代码,发现有如下代码:
1浅谈.net事件机制浅谈.net事件机制
2浅谈.net事件机制this.button1.Click += new System.EventHandler(this.button1_Click);
3浅谈.net事件机制浅谈.net事件机制
4浅谈.net事件机制
5浅谈.net事件机制private void button1_Click(object sender, System.EventArgs e)
6        }

  难道这就是传说中的事件委托?@_@
  button1的Click事件在Form1中注册了button1_Click这个方法,所以当button1点击的时候程序执行到了button1_Click下面。

  我对这个过程模拟了程序,

 1浅谈.net事件机制using System;
 2浅谈.net事件机制
 3}

运行结果:
我是按钮(btnNo4)
按钮:btnNo4已经被点击,将发生些事情....

可以看出在Form1的构造中登记了Button的Click事件并将邦定到了Form1的On_Click方法中,Form1就可以不用关,Button中的点击到底是怎么实现的。

相关文章: