• 当前位置:首页>>C#语言>>C#基础教程>>c#重点知识解答(五 代理:二 )
  • c#重点知识解答(五 代理:二 )
  •      代理 二
      
      心情好坏!!!!!!!!!!!!!!!!!!!!!
      我的准女友跟我说拜拜!!!!!!!!!!!!!!!!!!!!!
      再也不想搞计算机了兄弟们撤退吧!!!!!!!!!!!!!!!!!!!!
      c#我没心情写了。以后再说吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      
      1〉事件
      
      上一章讲解了有关代理的基本应用,本章将继续讲解深入代理的使用。这里我们讲解使用代理来处理事件。关于事件在另一章进行详细讲解。处理事件在c#中对比c++和vb来说更聪明,你可以写代理然后写事件处理者,事件处理者是一种定义在控件和窗体类中的重载的公共事件。我们在以下的例子中将看到代理在事件中的应用。
      
      
      1。写代理
      我想处理鼠标单击事件和在鼠标单击左键或右键处理一些代码。写下面的代码在你的初始控件函数中。
      
      this.MouseDown += new System.WinForms.MouseEventHandler(this.Form_MouseDown);
      
      2. 写事件
      现在你可以写事件处理,你的事件的输出参数将返回窗体的鼠标事件参数的详细内容。以下时鼠标事件参数成员
      
      MouseEventArgs members
      
      Button 指示哪一个键被压,分为左、右、中、无 。
      Clicks 指示鼠标压下次数及释放状态。
      Delta 指示鼠标转动数量计数
      X 鼠标点击x坐标点
      Y 鼠标点击y坐标点
      
      Event Handler
      
      private void Form_MouseDown(object sender, System.WinForms.MouseEventArgs e)
      {
      switch (e.Button)
      {
      case MouseButtons.Left:
      MessageBox.Show(this,"Left Button Click");
      break;
      case MouseButtons.Right:
      MessageBox.Show(this,"Right Button Click" );
      break;
      case MouseButtons.Middle:
      break;
      default:
      break;
      }
      
      }
      
      
      在你的WinForm中测试你的程序,你会看到通过代理事件被关联了。
      
      
      
      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      class I
      {
      public I(){}
       ~I() {}
      public void IDoLoveYou()
      {System.Console.WriteLine("I do love You");}
      
      public void why(){System.Console.WriteLine("why?");}
      }
      
      class HER
      {
      public HER(){}
       ~HER() {}
      public void IDo()
      {System.Console.WriteLine("...............");}
      public void slient(){System.Console.WriteLine(".........");}
      }
      
      class TELEPHONE
      {public delegate void heartchat();
       public TELEPHONE(){}
       ~TELEPHONE(){}
       public void hello(){System.Console.WriteLine("yesterday night,i telephone to my girlfriend"); }
      
      }
      
      class chat{
      static void Main() {
       I i=new I();
       HER her=new HER();
       TELEPHONE telephone =new TELEPHONE();
       telephone.hello();
      
       TELEPHONE.heartchat tell=new TELEPHONE.heartchat(i.IDoLoveYou);
       tell();
      
      
       TELEPHONE.heartchat answer=new TELEPHONE.heartchat(her.IDo);
       answer();
      
       TELEPHONE.heartchat ask=new TELEPHONE.heartchat(i.why);
       ask();
      
       TELEPHONE.heartchat noanswer=new TELEPHONE.heartchat(her.slient);

    [1] [2] 下一页