我在Windows窗体中有超过100个按钮,我想根据for循环中的计数器访问命令Button.PerformClick()
的名称。例如:Button + Convert.Tostring(Counter).PerformClick()
我该怎么做?
答案 0 :(得分:6)
您可以使用OfType
扩展程序循环浏览所有按钮:
foreach(var button in this.Controls.OfType<Button>())
{
// do something with button
button.PerformClick();
}
For loop version:
for(int i=0; i<counter; i++)
{
string name = "Button" + i;
if(this.Controls.ContainsKey(name))
{
var currentButton = this.Controls[name] as Button;
}
}
注意:此答案假定您的按钮是Form
的直接子元素。如果Buttons
内有Panel
,那么您应该访问面板的ControlCollection
panelName.Controls
代替this.Controls
。