【发布时间】:2016-01-08 01:18:05
【问题描述】:
我正在制作一个程序,该程序将通过 for 循环在屏幕上制作按钮。这很重要,因为用户需要访问按钮的数量,并且每次运行都会改变。这是我到目前为止的代码:
public Form1()
{
InitializeComponent();
int top = 5;
int left = 5;
for (int i = 0; i < 10; i++)
{
Button button = new Button();
button.Height = 50;
button.Left = left;
button.Top = top;
this.Controls.Add(button);
left += button.Width + 2;
}
}
我想要的基本上是这样的:
Button b+i = new Button();
就像组合两个字符串时,我希望循环中第一次运行的按钮名称为 b0,然后是 b1,然后是 b2,依此类推。
我使用 Visual Studio,InitializeComponent() 转到编辑器生成的代码来制作窗口和其他东西。除了窗户之外什么都没有。
感谢您的帮助!
【问题讨论】:
-
你可以用
button.Name来设置一个名字,比如string.Format("button{0}", i),也可以把i放在tag里面,在需要的时候使用。 -
您不是在询问设置按钮的名称。您正在询问更改保存按钮实例的变量的名称,而您不能在运行时执行此操作。使用数组来包含按钮,然后你可以通过索引来引用它们。
-
问题在 cmets 中有回答吗?
-
@RezaAghaei 是的,使用您、KenWhite 和 MitchWheat 提供的信息,我能够弄清楚。下面的链接还将用你们提供的概念来总结事情。 link 给未来有同样担忧的人