→ ssccg: Event02/12 18:24
說清楚一點好了 大概架構類似下面
// class 裡面包 UI
class UIs
{
public RadioButton rdo;
// others......
}
// 這邊建立 list
List<UIs> ListUI = new List<UIs>();
private void creat()
{
for (int i = 0; i < 20; i++)
{
UIs UI = new UIs();
UI.rdo.CheckedChanged += changedCheck;
ListUI.Add(new UIs());
}
}
//當 class 裡面的 UI受到使用者改變時, 傳到裡面的 RadioButton都長得一樣.....
//根本無法得知原本屬於list哪個位置,
private void changedCheck(object sender, EventArgs e)
{
RadioButton rdo = (RadioButton)sender;
}
※ 編輯: abc95007 (220.134.105.199), 02/12/2019 23:22:47
推 CloudyWing: listUI放field,用IndexOf()?02/12 23:47
推 forever84721: 每個RB的tag屬性先放可辨識的東西 之後就可以抓了02/13 08:17
→ testPtt: 猜你要的是arraylist02/13 14:09
最後是 add 時候,UIs.rdo.name 順便依序改個名字,sender 抓出來時就可以辨識了
※ 編輯: abc95007 (180.217.138.101), 02/13/2019 16:26:06
推 Litfal: 把class instance或index直接丟到控制項的Tag屬性最簡單 02/14 18:13
推 disabledman: tag 屬性真的是無敵,要善用之 02/20 09:19
推 sd016808: 以你的需求,善用匿名函式 把Checkchanged放在For裡面就 03/10 22:46
→ sd016808: 可以拿到當初的index了 03/10 22:46
→ sd016808: 常常在下層的結構不想紀錄上層結構的對應關係時,我都會 03/10 22:47
→ sd016808: 用這種方式去處理 03/10 22:47