我正在开发一个 Windows 应用程序,我想在其中在循环内动态创建一些控件。
我正在尝试的代码是
private Label newLabel = new Label();
private int txtBoxStartPosition = 100;
private int txtBoxStartPositionV = 25;
for (int i = 0; i < 7; i++)
{
newLabel.Location = new System.Drawing.Point(txtBoxStartPosition, txtBoxStartPositionV);
newLabel.Size = new System.Drawing.Size(70, 40);
newLabel.Text = i.ToString();
panel1.Controls.Add(newLabel);
txtBoxStartPositionV += 30;
}
这段代码只生成一个带有文本 7 的标签,但我想用它们各自的文本创建 8 个标签,我该怎么做?
最佳答案
在您的循环中,您实际上是在更新同一个标签的属性。如果你想在每一步都创建一个新的,在循环内移动对象的创建:
private Label newLabel;
for (int i = 0; i < 7; i++)
{
newLabel = new Label();
...
顺便说一句,如果你想要 8 个 标签 - 你的
for
应该迭代 8 次,而不是 7 次,就像现在一样:for (int i = 0; i < 8; i++)
关于c# - 在 C# 中动态添加循环下的控件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16914397/