作者Naz130 (Naz130)
看板C_Sharp
标题Re: [问题] click问题
时间Sun Sep 15 16:03:59 2019
※ 引述《GooLoo (平凡)》之铭言:
: 请问一下,
: 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";
: }
用Find & PerformClick:
private void Button1_Click(object sender, EventArgs e)
{
var parent = ((Buttn)sender).Parent;
for (int i = 2; i<= 30; i++)
{
foreach (var control in parent.Controls.Find($"button{i}", false))
{
if (control is Button)
{
((Button)control).PerformClick();
}
}
}
}
private void Button2_Click(object sender, EventArgs e)
{
MessageBox.Show("2");
}
private void Button3_Click(object sender, EventArgs e)
{
MessageBox.Show("3");
}
private void Button4_Click(object sender, EventArgs e)
{
MessageBox.Show("4");
}
…
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.218.26.195 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1568534641.A.053.html
1F:推 GooLoo: 感谢,原来find可以这样用 09/15 16:11
2F:→ GooLoo: 如果不是click, 如combobox的change就没法用了 09/16 07:12
3F:→ kobe8112: ComboBox没有叫做change的事件啊 09/16 08:51
4F:→ GooLoo: 抱歉,是selectedindexchanged 09/18 07:20
5F:→ GooLoo: Numericupdown 的value change, 没有performclick可以用 09/18 07:24
6F:→ kobe8112: 前者直接改SelectedIndex,後者直接改Value不就好了? 09/19 09:15