五月天青色头像情侣网名,国产亚洲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#在自定義事件里傳遞自定義數據的評論 (共 條)

分享到微博請遵守國家法律
叶城县| 调兵山市| 镇巴县| 丽水市| 昌都县| 平陆县| 新津县| 澄城县| 开阳县| 京山县| 永仁县| 云安县| 龙游县| 长治县| 盐源县| 莱西市| 扎鲁特旗| 皋兰县| 通城县| 绥中县| 华池县| 广州市| 彩票| 义马市| 惠水县| 德安县| 合水县| 巴彦淖尔市| 红河县| 富裕县| 布拖县| 呼伦贝尔市| 昂仁县| 绥中县| 延吉市| 鲁甸县| 朝阳区| 磐石市| 蒙阴县| 益阳市| 柞水县|