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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

例如button的點(diǎn)擊事件,那么這個(gè)sender就代表這個(gè)button自己。

privatevoidbtn1_Click(objectsender,EventArgse)

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

ButtonthisClickedButton=senderasButton;

}

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

e參數(shù)是是EventArgs類(lèi)型。簡(jiǎn)單來(lái)理解就是記錄事件傳遞過(guò)來(lái)的額外信息。

一般用于傳遞用戶點(diǎn)擊

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論