欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#事件中的兩個參數(shù)詳解(object sender,EventArgs e)

 更新時間:2022年09月09日 14:19:50   作者:JosieBook  
這篇文章主要介紹了C#事件中的兩個參數(shù)詳解(object sender,EventArgs e),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

C#事件參數(shù)(object sender,EventArgs e)

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

我們可以看到,F(xiàn)orm1_Load(object sender, EventArgs e)本質(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)用的。

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

this.Load += new System.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ù)(object sender, EventAgrs e),那么可以知道,F(xiàn)orm1_Load(object sender, EventAgrs e)函數(shù)是被Load事件調(diào)用的,所以要和委托EventHandler的參數(shù)保持一致。

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

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

C#函數(shù)中(object sender, EventArgs e)參數(shù)是什么意思

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

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

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

private void btn1_Click(object sender, EventArgs e)
{
? ? ? //獲取當(dāng)前點擊的Button
? ? ? Button thisClickedButton = sender as Button;
} ?

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

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

一般用于傳遞用戶點擊的位置啊,鍵盤按下的鍵等事件的額外信息。

例如鼠標(biāo)點擊的位置、按下、釋放等信息。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# Ado.net實現(xiàn)讀取SQLServer數(shù)據(jù)庫存儲過程列表及參數(shù)信息示例

    C# Ado.net實現(xiàn)讀取SQLServer數(shù)據(jù)庫存儲過程列表及參數(shù)信息示例

    這篇文章主要介紹了C# Ado.net實現(xiàn)讀取SQLServer數(shù)據(jù)庫存儲過程列表及參數(shù)信息,結(jié)合實例形式總結(jié)分析了C#針對SQLServer數(shù)據(jù)庫存儲過程及參數(shù)信息的各種常見操作技巧,需要的朋友可以參考下
    2019-02-02
  • C#使用Unity實現(xiàn)剪刀石頭布游戲

    C#使用Unity實現(xiàn)剪刀石頭布游戲

    這篇文章主要為大家詳細(xì)介紹了C#語言使用Unity實現(xiàn)剪刀石頭布游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C#遞歸讀取XML菜單數(shù)據(jù)的方法

    C#遞歸讀取XML菜單數(shù)據(jù)的方法

    這篇文章主要介紹了C#遞歸讀取XML菜單數(shù)據(jù)的方法,涉及遞歸的操作技巧與C#窗體的用法,對于進(jìn)行C#項目開發(fā)具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • C#中動態(tài)數(shù)組用法實例

    C#中動態(tài)數(shù)組用法實例

    這篇文章主要介紹了C#中動態(tài)數(shù)組用法,實例分析了C#中ArrayList實現(xiàn)動態(tài)數(shù)組的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

    Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

    這篇文章主要為大家詳細(xì)介紹了Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#實現(xiàn)動態(tài)生成靜態(tài)頁面的類詳解

    C#實現(xiàn)動態(tài)生成靜態(tài)頁面的類詳解

    這篇文章主要介紹了C#實現(xiàn)動態(tài)生成靜態(tài)頁面的類,結(jié)合實例形式詳細(xì)分析了C#動態(tài)生成靜態(tài)頁面的原理與相關(guān)使用技巧,需要的朋友可以參考下
    2016-04-04
  • C#實現(xiàn)繪制隨機(jī)噪點和直線

    C#實現(xiàn)繪制隨機(jī)噪點和直線

    這篇文章主要為大家詳細(xì)介紹了C#如何實現(xiàn)繪制隨機(jī)噪點和直線,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01
  • c# for循環(huán)中創(chuàng)建線程執(zhí)行問題

    c# for循環(huán)中創(chuàng)建線程執(zhí)行問題

    這篇文章主要介紹了有關(guān)c# for循環(huán)中創(chuàng)建線程執(zhí)行問題,下面文章將將以舉例的方式展開for循環(huán)中創(chuàng)建線程執(zhí)行問題的內(nèi)容,需要的朋友可以參考一下,希望對你有所幫助
    2021-11-11
  • C# FileStream實現(xiàn)多線程斷點續(xù)傳

    C# FileStream實現(xiàn)多線程斷點續(xù)傳

    這篇文章主要為大家詳細(xì)介紹了C# FileStream實現(xiàn)多線程斷點續(xù)傳,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • C#利用SFTP實現(xiàn)上傳下載

    C#利用SFTP實現(xiàn)上傳下載

    這篇文章主要為大家詳細(xì)介紹了C#利用SFTP實現(xiàn)上傳下載的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評論