各位前辈,小弟刚接触C#,其他的问题自己都基本上能理解和解决,但是每次我看到运算符重载的问题时,特别是  +=    这个运算符的时候,我都不太理解到底是怎么回事,我下面举个例子:
  比如这里:
       //btnOne是窗体中的一个按钮名
       btnOne.Click+=new EventHandler(Button_Click);
       Private void Button_Click(object sender,EventArgs e)
       {
       }
请问一下这里的+=代表了什么,他在这里的作用是什么,麻烦讲详细点点,谢谢了,这个+=属于运算符重载吧?

解决方案 »

  1.   

    不属于运算符重载,btnOne.Click+=new EventHandler(Button_Click);相当于btnOne.Click = btnOne.Click + new EventHandler(Button_Click);
    就好象i += 1;相当于i = i + 1一样。
      

  2.   

    这个算重载运算符,不过这里不是重载的实现,这是使用+=运算符给button加事件处理的delegate
      

  3.   

    那这里的btnOne.Click,代表的是什么呢,是.NETFramework类库里,自带的单击按钮事件处理程序吗?
      这里是不是理解成和多播委托一个意思,就是说btnOne.Click事件处理程序是btnOne.Click的事件处理程序加上Button_Click函数的总和。
      问题多了点,麻烦各位大哥再帮忙解答一下,帮助一下我这个初学者,上面的问题麻烦依照顺序解答下,谢谢:)
      

  4.   

    btnOne.Click这个并不是重载运算符,确切的说应该是,委托..Click+=new EventHandler(Button_Click);从实际出发来看,定义了btnOne的Click时调用Button_Click这个方法..
    而Button_Click这个方法必须是实现了new EventHandler这个委托原型的方法..