[问题] 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