EEE*_*EEE 0 c# asp.net user-interface button
我有16个按钮名为button1,button2 ......等迭代它们的最佳方法是什么?如何将这些按钮存储在(在数组或其他东西中)?我想做类似下面的事情:
public void func(string[] a)
{
for(int i = 0; i<16;i++)
{
if(a[i]==something)
button[i].image = someImage;
else
button[i].image = antoherImage;
}
}
Run Code Online (Sandbox Code Playgroud)
坦率地说,最好不要有16个不同的变量.相反,有一个数组:
Button[] buttons = new Button[16];
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用您想要的语法(模块属性名称).缺点是设计师并不真正迎合这一点.通常情况下,我发现如果我需要大量相同类型的UI元素,那么以编程方式创建它们比在设计器中更容易,但这取决于具体情况.
另一个选择是使用Controls["button" + (i + 1)],但当你真的只想要一个数组时,这对我来说感觉有点像黑客.如果您不需要重新分配变量,可以使用:
Button[] buttons = new Button[16];
for (int i = 0; i < 16; i++)
{
buttons[i] = (Button) Controls["button" + (i + 1)];
}
Run Code Online (Sandbox Code Playgroud)
从那时起你可以使用buttons数组......
当然你可以这样做:
Button[] buttons = { button1, button2, button3, button4, button5, ... };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |