首先,应用程序创建一个可以引发事件的对象。例如,假定应用程序是一个即时消息传送的应用程序,它创建的对象表示一个远程用户的连接。当接收到通过该连接从远程用户传送来的信息时,这个连接对象会引发一个事件,接着应用程序订阅事件。为此,即时消息传送应用程序将定义一个函数可以与事件指定的委托类型一起全使用,把这个函数的一个引用传送给事件,而事件的处理函数可以是另一个对象的方法,假定是表示显示设备的的对象,当接收到信息时,文盲雠法将显示即时消息。
引发事件后,就通知订阅器。当接收到通过连接对象传送过来的即时消息时,就调用显示设备对象上的事件处理方法。因为我们使用的是一个示准方法,所以引发事件的对象可以通过参数传送任何相关的信息,这就大大增中了事件的通用性
请问事件订阅是什么意思..生成一个窗体时构造函数中的InitializeComponent()? 他的过程是什么?
有没有可能是我理解的这样.. 在生成一个窗体时使用事件订阅把这些事件跟这个窗体绑定到一起? 他用订阅这个词我没理解.. 

解决方案 »

  1.   

    请问事件订阅是什么意思..生成一个窗体时构造函数中的InitializeComponent()? 他的过程是什么? 
    有没有可能是我理解的这样.. 在生成一个窗体时使用事件订阅把这些事件跟这个窗体绑定到一起? 他用订阅这个词我没理解..  this.button8.Click += new System.EventHandler(this.button8_Click); 订阅事件
     this.button8.Click -= new System.EventHandler(this.button8_Click); 取消订阅
    InitializeComponent()--这个过程实例化控件。。
      

  2.   

    订阅 应该是指的注册事件吧. 这是什么书啊? 感觉有MSDN的风格呢. 真能把人看糊涂了
    下面列子一看就明白了
    Control.Enter += new EventHandler(Control_Enter);
    Control2.Enter += new EventHandler(Control_Enter);
    //
    void Control_Enter(object sender, EventArgs e)
    {
               //两个事件通用一个方法
    }
      

  3.   

    语法
    xxx对象.yy行为+=事件处理函数dosometing这个就是事件订阅  而如果对象内部处理过程是    zz属性 
        {
           get{}
           set
             {_zz=value;
               调用yy的委托
             }
        }现在如果你实际使用的时候,xxx对象.zz属性=“1”,那么内部处理就会调用yy的委托,
     而yy的被你委托到自己处理函数dosometing上了,ok,这个时候dosometing函数就被触发简单的说,也就是你 dosometing 订阅了zz属性更改的事件,zz属性的更新会通知你自己的dosometing函数告知他已被更改
      

  4.   

    InitializeComponent()--这个过程实例化控件。。这个实际也是事件处理,不理解主要是你看到是cs文件,而一个窗体除了cs文件以外还有Designer.cs文件,那个事件订阅过程是放到Designer.cs文件中的。vs认为一般人不需要知道一些应该由ide环境初始的信息,所以他把这些东西分开写到了Designer.cs里,让你能集中精力完成只该你该完成的事情
      

  5.   

    不是MSDN,是C#入门经典..这本书感觉写的没有水平.. 就是内容多了一点..楼主几位的解释我一听就明白了.. ~ 
    我现在的理解是订阅是说在委托列表中添加几个函数引用...
    - -..看这本书真受罪..以后不考虑清华大学出版社了