国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

C#在自定義事件里傳遞自定義數(shù)據(jù)

2021-11-15 17:37 作者:新閣教育  | 我要投稿

前記

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

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

基礎(chǔ)篇

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

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


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

運(yùn)行結(jié)果如下所示:


進(jìn)階篇

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

這樣我們在事件處理中,就可以直接獲取屬性了,而不需要對EventArgs進(jìn)行強(qiáng)制轉(zhuǎn)換,代碼如下:


高級篇

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

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


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


主窗體調(diào)用并進(jìn)行事件處理,代碼如下:


運(yùn)行結(jié)果如下:


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

分享到微博請遵守國家法律
大渡口区| 玉屏| 英山县| 焦作市| 东平县| 万州区| 同德县| 彩票| 深圳市| 上林县| 郓城县| 宁化县| 长沙县| 石景山区| 湖口县| 什邡市| 保亭| 涿鹿县| 定南县| 微山县| 乾安县| 兖州市| 固始县| 镇巴县| 永川市| 怀集县| 资兴市| 绥化市| 渭源县| 页游| 卢龙县| 峨山| 信阳市| 洛扎县| 自治县| 周口市| 射阳县| 缙云县| 雅安市| 张家界市| 称多县|