C#事件中的兩個參數(shù)詳解(objectsender,EventArgse)_第1頁
C#事件中的兩個參數(shù)詳解(objectsender,EventArgse)_第2頁
C#事件中的兩個參數(shù)詳解(objectsender,EventArgse)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第C#事件中的兩個參數(shù)詳解(objectsender,EventArgse)目錄C#事件參數(shù)(objectsender,EventArgse)C#函數(shù)中(objectsender,EventArgse)參數(shù)是什么意思o(jì)bjectsender:表示觸發(fā)事件的控件對象EventArgse:表示事件數(shù)據(jù)的類的基類

C#事件參數(shù)(objectsender,EventArgse)

C#窗體程序有很多的事件,比如按鈕點擊事件,雙擊事件,F(xiàn)orm_Load事件,這些事件的實現(xiàn)里都有兩個參數(shù)(objectsender,EventArgse),什么意思呢?

我們可以看到,F(xiàn)orm1_Load(objectsender,EventArgse)本質(zhì)就是一個有兩個參數(shù)的函數(shù)。

那么函數(shù)怎么能夠自己調(diào)用自己呢?不能。它肯定在某個地方被調(diào)用了。

在Form1_Load上鼠標(biāo)右鍵點擊查看所有引用,如下:

然后點擊這個查到的內(nèi)容,轉(zhuǎn)到它的調(diào)用出:

原來Form1_Load()是在Form1.desinger下面的InitializeComponent()函數(shù)里調(diào)用的。InitializeComponent()這個函數(shù)是在主界面Form類的構(gòu)造函數(shù)里調(diào)用的。

我們也知道,在主程序運行的時候,會自動執(zhí)行Form1類下面的構(gòu)造函數(shù),進(jìn)而調(diào)用InitializeComponent()函數(shù),InitializeComponent()函數(shù)通過里面的Load事件調(diào)用From1_Load()函數(shù):

this.Load+=newSystem.EventHandler(this.Form1_Load);

而這個調(diào)用,其實是Load事件調(diào)用了Form1_Load()函數(shù)。

而System.EventHandler是委托,通過new委托的方式調(diào)用事件要觸發(fā)的函數(shù)。

鼠標(biāo)放到EventHandler上轉(zhuǎn)到這個委托的定義里去:

我們可以看到原來是Load事件所在的委托,在定義的時候就有這兩個參數(shù)(objectsender,EventAgrse),那么可以知道,F(xiàn)orm1_Load(objectsender,EventAgrse)函數(shù)是被Load事件調(diào)用的,所以要和委托EventHandler的參數(shù)保持一致。

綜上,這兩個參數(shù)從形式上看,只是為了和EventHandler委托的參數(shù)保持一致。

事件通過委托調(diào)用的函數(shù),必須和委托的參數(shù)保持一致。

C#函數(shù)中(objectsender,EventArgse)參數(shù)是什么意思

objectsender:表示觸發(fā)事件的控件對象

sender參數(shù)用于傳遞指向事件源對象的引用。簡單來講就是當(dāng)前的對象。

例如button的點擊事件,那么這個sender就代表這個button自己。

privatevoidbtn1_Click(objectsender,EventArgse)

//獲取當(dāng)前點擊的Button

ButtonthisClickedButton=senderasButton;

}

EventArgse:表示事件數(shù)據(jù)的類的基類

e參數(shù)是是EventArgs類型。簡單來理解就是記錄事件傳遞過來的額外信息。

一般用于傳遞用戶點擊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論