[問題] click問題

作者: GooLoo (平凡)   2019-09-13 21:15:12
請問一下,
button1內要做 按button2動作,可以如下這樣寫.
問題來了
如果button1要做 button2~10動作,甚至20,30...個
一個一個打要很久
button2_Click(null, null);
button3_Click(null, null);
button4_Click(null, null);
.....
有其他的方法嗎?
private void button1_Click(object sender, EventArgs e)
{
button2_Click(null, null);
}
private void button2_Click(object sender, EventArgs e)
{
label1.Text = "OK";
}
作者: johnpage (johnpage)   2019-09-14 03:14:00
陣列+動態配置
作者: s4300026 (s4300026)   2019-09-14 10:18:00
可是給定delegate的時候還是要一行一行打啊?
作者: luckyx2 (豆腐)   2019-09-14 11:25:00
用EventHandler應該就可以了,把button2_Click註冊到btn1this.button1.Click += new System.EventHandler(this.button2_Click); 寫在建構子裡面
作者: s4300026 (s4300026)   2019-09-14 13:06:00
我看到的第一個想法是用for,然後 根據 i 創造副程式名稱字串,然後根據字串把對應的方法掛到想要的event handler上,但我不會寫,嘻嘻
作者: GooLoo (平凡)   2019-09-14 15:10:00
我的想法和s大大一樣我的button1-30是用拉的拉完,寫到一半,發現button有點多
作者: s4300026 (s4300026)   2019-09-14 17:33:00
不過我猜答案應該是 reflection method invokehttps://tinyurl.com/yyq7372nhttps://tinyurl.com/y3e7zjcs
作者: testPtt (測試)   2019-09-14 20:39:00
我以前都用foreach control c,if c is button...
作者: GooLoo (平凡)   2019-09-15 12:35:00
回t大:foreach可對多控件設定,但click事件好像不行
作者: Litfal (Litfal)   2019-09-16 14:22:00
用Controls取得button,再用SendMessage送enter給button.Handle
作者: benqm300 (人生苦短)   2019-10-16 20:01:00
包成function , 一次呼叫

Links booklink

Contact Us: admin [ a t ] ucptt.com