程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 用C# 簡單的實例講述什麼是委托及以事件的定義與使用

用C# 簡單的實例講述什麼是委托及以事件的定義與使用

編輯:.NET實例教程

當時學習.Net的時候只知道事件驅動,卻搞不懂什麼是委托更不會定義事件,當然就不能寫出什麼高質量的程序,以下是個人對委托的理解,用最簡單的實例講解,給初學者一點提示吧,高手就不用看了,呵呵:)

委托可以這麼來理解,委托就像是定義一個指針(C++),提供入口。

1 實例1:執行一個委托定義的方法 
        第一步:定義一個委托
        public delegate void  Computer();  //委托用delegate定義,此方法是void類型,並且沒有任何參數

        第二步:定義一個和委托類型相同的方法,計算兩數之和
        private void MathOpt()
        {
            int a =1;
            int b = 2;
            int sum=a +b;
            Response.Write(sum.tostring());
      }

         第三步:在一個按鈕的click事件中
         private void button1_Click(object sender, EventArgs e)
        {
            Computer com;//實例
            com = MathOpt;//類似指針,將方法的地址賦值委托類型的變量
            com();
        }

好了,這樣就執行了一個委托的方法,當系統執行到com()的時候,就相當於執行方法MathOpt(),如果有參數,那麼在定義委托的時候和方法有相同的參數即可。

有了委托就可以定義事件了

實例2:定義一個事件
             功能:在父子窗體間通信,如在子窗體輸入條件,在父窗體中查詢,類似Office的查找
             定義窗體:假設父窗體為Frm1,子窗體為Frm2
             第一步在Frm2中定義事件:
            public delegate void FullSearch(string key); //定義全文檢索的委托事件
            public event FullSearch FullSearchOrder;  //用委托定義一個檢索的事件(會在父窗體中執行功能)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved