Chu*_*uck 0 c# arrays label winforms
我想基于数组创建标签,但我总是只获得一个标签.
private void button1_Click(object sender, EventArgs e)
{
Debug.WriteLine(hardrive.GetHardDriveName.Count);
Label[] lblHDDName = new Label[hardrive.GetHardDriveName.Count];
for (int i = 0; i < hardrive.GetHardDriveName.Count; i++)
{
int x = 10;
int y = 10;
lblHDDName[i] = new Label();
lblHDDName[i].Location = new System.Drawing.Point(x, y);
lblHDDName[i].Text = "Test";
groupBoxHDD.Controls.Add(lblHDDName[i]);
y += 10;
}
}
Run Code Online (Sandbox Code Playgroud)
调试
Debug.WriteLine(hardrive.GetHardDriveName.Count);
Run Code Online (Sandbox Code Playgroud)
显示数组中的两个项目.
问题是在GroupBox中只有一个标签而不是两个.
您的y变量在for循环中定义,而不是在外部定义.因此,对于循环的每次执行,您将其初始化为10并在其中使用它System.Drawing.Point.如果要跟踪循环结束时所做的增量,则必须y在for循环之前声明并初始化.
int y = 10;
for (int i = 0; i < ...; i++)
{
// use y
...
// increment it
y += 10;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3750 次 |
| 最近记录: |