作者forewero (木日一)
看板C_Sharp
標題[問題] 如何在class中取得項目的button.imagine?
時間Thu Mar 15 13:50:05 2018
最近寫一支專案大概有16X支子程式
而現在要在所有子程式的button裡面加上事件
我想一次做掉
所以在class裡面寫
總共有大概七種類型的button
每種類型的button要做的事情不一樣
所以我要在class裡面判斷
而各個種類的button只有圖片是用一樣的(一個種類用一個)
名字每個人卻取不統一
現在我要在class裡面去讀button.imagine,但找不到合適的方法
不知道有沒有甚麼做法可以做到這點?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.222.53.85
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1521093008.A.23B.html
1F:推 howardH: 物件導向嗎? 03/15 14:48
2F:推 neo5277: 引用的圖片來源給識別,然後class寫個判斷讀進來的是哪個 03/15 15:37
3F:→ neo5277: 再委派給他應該就可以了吧 03/15 15:37
4F:→ neo5277: button 的img屬性應該會有pic的名稱 03/15 15:38
5F:→ forewero: 原本是想從CLASS直接拉BUTTON圖片名稱,現在改從BUTTON 03/15 16:26
6F:→ forewero: 傳圖片名稱當參數 03/15 16:26
不過現在還是拉不出圖片名稱
我在BUTTON下面加入
var button = sender as Button;
然後 button.image去找,找不到傳出圖片名稱的方法
※ 編輯: forewero (61.222.53.85), 03/15/2018 16:51:09
7F:推 howardH: ((Button)sender).image 03/15 17:01
我有試過不過他會出現((Button)sender).Image = '((Button)sender).Image' 擲回
'System.InvalidCastException' 類型的例外狀況
※ 編輯: forewero (61.222.53.85), 03/15/2018 17:15:09
8F:→ Litfal: 為什麼是在事件裡用Image去分種類,而不是一開始就連到不 03/16 08:02
9F:→ Litfal: 同種類的事件呢 03/16 08:02
10F:推 annies5: 你只是要分辨是哪一個button被按下,應該是判斷 03/16 16:31
11F:→ annies5: (sender as Button).Name 03/16 16:31
12F:→ annies5: 快速找出button用哪個image,你可以去看form1.designer.cs 03/16 16:49
13F:→ annies5: 然後把同一類型button以命名規則取名 03/16 16:50
謝謝各位的幫助,最後有找出BUTTON.IMAGE的屬性
不過比較可惜是最後也沒照這個方式做
因為BUTTON.IMAGE我們是在LOAD的階段動態加上去的
BUTTON.IMAGE會抓到的是動態加上去以前的圖片名稱
初學c#,有些名詞可能講得不是很清楚,還請各位前輩包含
也謝謝各位的回覆
※ 編輯: forewero (111.185.68.213), 03/18/2018 17:27:06