關於sender as,我剛接觸這個,想問的問題是可以直接在事件方法裡用控制項名或屬性名點,為什麼要用

時間 2022-11-08 14:11:26

1樓:匿名使用者

舉個例子:

某個按鈕按下後,我希望讓它的文字顏色變成紅色。

如果需要達成這個操作的只有乙個按鈕button1。那麼**自然很簡單。給button1的click事件關聯事件函式

public void button1_click(object sender,eventarg e)

對吧?這個就是你所說的。直接用控制項名和屬性。

但是如果介面上有很多個按鈕都需要做到這個操作的時候。

難道我要每個按鈕都關聯乙個自己的事件函式,每個事件函式裡都寫上自己的控制項名來操作嗎?

像這樣:

public void button2_click(object sender,eventarg e)

public void button3_click(object sender,eventarg e)

public void button4_click(object sender,eventarg e)

...這肯定是沒有必要的。

因為我們在寫**的時候,講究的是重構。

相同功能的**,盡可能的不要重複出現,而是希望把它規整到同乙個函式裡來控制。

所以,這時我們就需要把這個函式抽象起來,我們希望這個函式能滿足所有按鈕。

所以我們應該這麼改。

public void button_click(object sender,eventarg e)

然後,我們將所有需要的按鈕,比如button1,button2,button3,button4的click事件,全部關聯到這個button_click函式。

這樣一來。觸發click事件的這個button物件,會自動作為函式中的引數sender被傳進來。

但是sender是乙個object型別,所以我們需要把他轉換成button後,再設定forecolor。

你看,這樣**不僅變得簡潔,去掉了很多一樣的廢**,而且也使得維護變得容易。

某天如果我想把紅色改為綠色。我只需要改動這乙個地方,而不需要每個地方都改。

我們再來思考一下。如果我希望能夠讓所有的控制項都可以實現這個「點選後前景色變成紅色」的操作。我該怎麼做呢?只要這麼改動即可。

public void allcontrol_click(object sender,eventarg e)

然後將需要關聯的控制項關聯到這個函式上即可。

是不是很方便呢?

謝謝採納。

2樓:陽光的雷咩咩

初學的時候就用控制項名點吧,那樣似乎直觀些。sender as就是引發這個事件的時候它會有個object sender代表引發的物件,用sender as 可以使**更靈活,假如說是兩個按鈕點選執行同乙個方法呢?你怎麼區別是用哪個控制項名啊?

事件中要處理的控制項為什麼要是final型

3樓:吞吞的吐吐樂園

在內部類中呼叫外部變數需要加final修飾 而final修飾的變數又是不可變的,你前面就好重新賦值,前後矛盾

關於bios我問題懂的進,關於BIOS我問題,懂的進?

intel的cpu節能功能應該叫 eist enhanced intel speedstep technology tm2全稱thermal monitor2,是intel在lga775封裝的prescott核心處理器中增加的新的過熱保護機制。給樓主乙個參考,這是技嘉ep45 ud3系列 e8200...

關於人性,我魔怔了,關於人性,善與惡,我魔怔了

這不是偏激,這是自然界的規律性,在自然界裡產生各種各樣的動植物,如動植物為了生存,就自然各自占領地盤,在同一地盤生存就自然而然地產生愛,善良,友情,愛情,並不是虛偽,但萬一地盤被外來者的侵略就產生戰爭,為保衛地盤就必須使用最醜惡,最陰暗,最殘暴的方法來捍衛自己的地盤是正常的,所以,在太平年代人類就各...

我想知道關於西施的故事,我想知道關於蘇蠡和西施的故事,還有關於西施的歷史,急

西施的故事 西施與珍珠 珍珠被人類利用已有數千年的歷史,傳說她是西施的化身。西施本是月宮中嫦娥的掌上明珠,她奉玉帝之命,下凡來拯救吳越兩國黎民百姓脫離連年戰亂之苦,珍珠便是她的化身。原來嫦娥仙子有一顆閃閃發光的大明珠,十分逗人喜愛,常常捧在掌中把玩,平時則命五彩金雞日夜守護,唯恐丟失。而金雞也久有把...

我想問關於愛情得問題,我想問乙個關於愛情得問題

其實呢,你們兩個空間不是嗎?你應該給她適當的空間去發揮,不要一喂的去管她束縛她,這樣她感覺很累,你也很累,久了之後受不了就想離開,我也是一樣的,不是你沒有朋友,只是你不想去交而已,導致你女朋友對你的意見很大,你說你的心結很多,俗話說揭鈴還需繫鈴人,你的心結就應該自己揭不是嗎?不是你不想到方法怎麼揭開...

關於人生,我又該何去何從

路都是人走出來的 走的多了 也便沒了路 放心大膽的走你的路吧!不要回首!祝福你 一路走好!生活就是這樣,我們所面對的一切都必須接受。無論好壞。生活就是這樣,每天不會有人因為你哭泣而難過,因為你傷心,所以陽光就自動消退。生活有它自己不變的執行規律,大地上的人們每天來來往往。在我的心裡頭,沒有什麼永恆的...