五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

C#在自定義事件里傳遞自定義數據

2021-03-25 13:30 作者:付工上位機實戰(zhàn)  | 我要投稿

前記

相信很多小伙伴都知道傳值的一些方式,比如構造方法傳值、屬性傳值、Tag傳值、委托傳值、窗體傳值等,今天給大家分享的一種方式,是通過自定義事件來傳值。

對于一般的系統(tǒng)事件,是有兩個參數的,一個是sender,一個是EventArgs,對于sender,我們可能用得還比較多一些,它表示這個事件的觸發(fā)者,一般指向的是一個控件,但是對于EventArgs,我們一般用得會比較少,今天分享的自定義事件傳值就是通過EventArgs來實現(xiàn)。

基礎篇

通過EventArgs來實現(xiàn)傳值,我們首先需要創(chuàng)建一個類,繼承EventArgs,我們可以將需要傳遞的數據,直接在類里面定義成屬性,這里以傳遞一個布爾、一個浮點數為例,代碼如下所示:

然后我們創(chuàng)建一個類,類里面創(chuàng)建一個事件,并激發(fā)事件,這里傳遞的值為True和123.0,代碼如下:

我們在主窗體中,實例化類,并進行事件綁定,看看能不能獲取到傳遞的數據,代碼如下:

運行結果如下所示:

進階篇

在上面知識掌握的基礎上,我們可以做進一步優(yōu)化,在定義事件時,可以不用EventHandler,可以自己定義參數來實現(xiàn),我們再創(chuàng)建一個類——Test2,代碼如下:

這樣我們在事件處理中,就可以直接獲取屬性了,而不需要對EventArgs進行強制轉換,代碼如下:

高級篇

如果繼續(xù)深入的話,我們可以將傳遞的參數改成泛型,這樣就可以輕松傳遞單個參數了,對于多個參數的情形,我們可以使用對象,單一參數比較簡單,這里就不贅述了,主要針對對象傳遞進行說明,首先創(chuàng)建一個參數實體類,這里創(chuàng)建三個屬性,代碼如下:

創(chuàng)建事件參數類,代碼如下:

再創(chuàng)建一個類——Test3,代碼如下:

主窗體調用并進行事件處理,代碼如下:

運行結果如下:



C#在自定義事件里傳遞自定義數據的評論 (共 條)

分享到微博請遵守國家法律
玉门市| 西华县| 呼和浩特市| 英德市| 正定县| 东平县| 红原县| 阿克苏市| 长乐市| 罗定市| 江城| 土默特右旗| 西昌市| 龙泉市| 崇礼县| 敦化市| 赣州市| 长岭县| 富阳市| 盐山县| 乡宁县| 新巴尔虎左旗| 鄂温| 奇台县| 花莲市| 拜泉县| 安西县| 融水| 岳普湖县| 新余市| 台东市| 顺平县| 通渭县| 太白县| 宁南县| 上栗县| 隆子县| 双峰县| 东辽县| 乌什县| 灌阳县|