C#.Net裡面通過事件呼叫事件,通過簡單瞭解相信可以幫你解決問題

來源:互聯網
上載者:User

     今天我又學了一招簡單而又實用的招式,名為----事件呼叫事件。

     比如說你有一個按鈕事件1,但是在按鈕事件2中需要有按鈕事件1的動作。這就是事件的調用,跟方法的調用是同一個意思。

     protected void Button1_Click(object sender, EventArgs e)<br /> {<br /> this.Label1.Text = this.TextBox1.Text;<br /> }<br /> protected void Button2_Click(object sender, EventArgs e)<br /> {<br /> this.Label2.Text = this.TextBox1.Text;<br /> Button1_Click(null, null);<br /> }

     從代碼當中可以看到Button1的點擊事件是使Label1獲得TextBox1的值,而Button2的點擊事件是使Label2獲得TextBox2的值並調用Button1的事件了。也就是說Button2事件裡面有一部分是執行了Button1的事件。

    這裡還有一點需要注意,那就是如果事件是同一類型的話,那你還可以把它當成是方法的調用一樣來使用。(都是按鈕的點擊事件)

protected void Button2_Click(object sender, EventArgs e)<br /> {<br /> this.Label2.Text = this.TextBox1.Text;<br /> Button1_Click(sender, e);<br /> }

    可能大家已經關注到事件裡面的兩個參數,我呀,也不多說,用別人的精華內容來說明吧。大家慢慢體會其中的意思,或者可以去下面的連結去更發現更實在的知識。

  

Object sender

sender是事件來源(被監視的對象,也叫監視對象,事件觸發者,本例為熱水器,水溫達到95℃以上觸發事件),表示觸發此事件的對象

//比如說你按下按鈕,那麼sender就是按鈕,觸發已經預定好的事件處理代碼,比如Onclik

 

 

EventArgs e

e是事件參數(***EventArgs類對象,根據事件的不同事件參數類型可能不同,但必須繼承EventArgs類,比如本例中的 public class BoiledEventArgs : EventArgs ,又根據net的編碼規範"繼承自EventArgs的類型應該以EventArgs結尾。",所以名稱為***EventArgs),包含跟該事件相關的資訊,比如參數。這要你自己手動去寫代碼(已經寫好封裝了的可以直接拿來用,但如果這樣,那麼它的名字不再是EventArgs了,而是以EventArgs結尾的一個名稱。根據.net編碼規範,如果一個函數頭中直接使用的是EventArgs,那麼代表它不需要使用e來傳遞特殊參數,你可以在VS中看看EventArgs的定義,看看它都包括了什麼內容),它用來輔助你處理事件。還可以傳遞引用,在方法中直接存取類的成員等。

本例中包含參數temperature。

public class BoiledEventArgs : EventArgs
        {
            public readonly int temperature;
            public BoiledEventArgs(int temperature)
            {
                this.temperature = temperature;
            }
        }

   //假如"用滑鼠點擊表單"這個事件發生,那麼e會包含點擊的位置等等

歸根究底,這個sender和e及其一整套的處理方式,只不過是windows訊息機制的另外一種表現罷了!

(摘至:

上面內容的連結為

http://hi.baidu.com/%C9%FA%B4%E6%B5%C4%D7%CA%B1%BE/blog/item/c06f64d1d72e17309b5027f6.html)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.