[問題] 如何將form上面多個Button集合在一起寫程式...

看板C_Sharp作者 (菜嘎舞春)時間4年前 (2020/03/12 13:56), 編輯推噓6(6024)
留言30則, 10人參與, 4年前最新討論串1/2 (看更多)
小弟是超新手... 剛學Winform form1上面我放置32個 Button ,這些Button 在按下時所執行的工作 其實非常的類似,可能就一個參數不同的差別 現在我有32個 private void buttonXX_Click( ) ... ... 寫不下去了... 我粗淺的構想是把 32 個 Button 全放到 List 或 Array 中 ... 但完全不知如何下手,懇請大大們指引個方向 感激~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.97.2.4 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1583992609.A.305.html

03/12 14:23, 4年前 , 1F
可以查一下 委派 註冊事件 可能可以配合tag property
03/12 14:23, 1F

03/12 14:25, 4年前 , 2F
var Button=new Button[32] 簡單寫一下
03/12 14:25, 2F

03/12 14:25, 4年前 , 3F
foreach(var b in Button)b.click+=(o,e)=>job(o,e)
03/12 14:25, 3F

03/12 15:55, 4年前 , 4F
click enent都指到同個btnclick()去判斷
03/12 15:55, 4F

03/12 15:57, 4年前 , 5F
if (Button)sender == btn01
03/12 15:57, 5F

03/12 15:57, 4年前 , 6F
do...
03/12 15:57, 6F

03/12 15:57, 4年前 , 7F
else if ...
03/12 15:57, 7F

03/13 00:06, 4年前 , 8F
同四樓 確認每一個button在屬性視窗都的Click事件都連
03/13 00:06, 8F

03/13 00:06, 4年前 , 9F
結到同一個方法就好
03/13 00:06, 9F

03/13 00:09, 4年前 , 10F
但使用的Button較多時建議使用switch https://i.imgur
03/13 00:09, 10F

03/13 00:09, 4年前 , 11F
.com/2dTFjLG.jpg
03/13 00:09, 11F

03/13 12:00, 4年前 , 12F

03/13 12:00, 4年前 , 13F
orms/controls/how-to-add-controls-to-windows-forms
03/13 12:00, 13F

03/13 12:03, 4年前 , 14F
下面有以程式方法建立控制項,配合上面的註冊事件
03/13 12:03, 14F

03/13 13:40, 4年前 , 15F
如果只有參數的差別,也可以把參數放在Button的Tag屬性。
03/13 13:40, 15F

03/14 07:23, 4年前 , 16F
tag 屬性? 又多學到一招了
03/14 07:23, 16F

03/22 00:10, 4年前 , 17F
...TAG 非必要少用 大家都用tag 會造成系統崩潰
03/22 00:10, 17F

03/22 00:11, 4年前 , 18F
感覺高手變多了qq
03/22 00:11, 18F

03/24 13:29, 4年前 , 19F
推樓上 系統龐大時tag的維護不方便 能不用就不用
03/24 13:29, 19F

03/24 14:20, 4年前 , 20F
在同一個function中用if...else或switch列出全部button處理
03/24 14:20, 20F

03/24 14:22, 4年前 , 21F
,跟 每個button各自產生一個click函式,我是不覺得寫起來
03/24 14:22, 21F

03/24 14:22, 4年前 , 22F
有差多少,還是傾向把差異放在button裡面。至於tag我只放過
03/24 14:22, 22F

03/24 14:22, 4年前 , 23F
簡單的數字或字串,用到系統崩潰或維護不易…,到底是放了
03/24 14:22, 23F

03/24 14:23, 4年前 , 24F
什麼進去?我很好奇!
03/24 14:23, 24F

03/24 23:40, 4年前 , 25F
良好的習慣可以幫助自己在更大的專案裡面有較佳的體質,
03/24 23:40, 25F

03/24 23:41, 4年前 , 26F
一個知其然的人在權衡下選擇實作方法,跟一個初學者選擇
03/24 23:41, 26F

03/24 23:41, 4年前 , 27F
同樣的實作方法,兩者本質上是不同的,板友只是好心提醒
03/24 23:41, 27F

03/24 23:42, 4年前 , 28F
,回應不需要這麼多刺吧,心平氣和討論程式不難的
03/24 23:42, 28F

04/06 20:23, 4年前 , 29F
重點是,參數長什麼樣子?你如何傳遞這些參數?listbox+
04/06 20:23, 29F

04/06 20:23, 4年前 , 30F
button 1組就解決了
04/06 20:23, 30F
文章代碼(AID): #1UQSyXC5 (C_Sharp)
文章代碼(AID): #1UQSyXC5 (C_Sharp)