无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

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#在自定義事件里傳遞自定義數據的評論 (共 條)

分享到微博請遵守國家法律
英吉沙县| 蒙自县| 嘉峪关市| 漳州市| 西乡县| 博湖县| 车致| 巴彦县| 兴和县| 张家口市| 潼关县| 奉节县| 镇平县| 大连市| 北票市| 墨江| 潮州市| 砀山县| 河西区| 丹寨县| 齐河县| 镶黄旗| 拉萨市| 宿州市| 周至县| 龙岩市| 尉犁县| 固安县| 远安县| 成安县| 云安县| 满洲里市| 泾阳县| 武安市| 沁源县| 五华县| 藁城市| 崇仁县| 湛江市| 墨竹工卡县| 资中县|