【发布时间】:2015-11-06 03:45:07
【问题描述】:
我想创建一个包含 361 个标签(即 label、label1、label2 等)的数组,并将它们物理定位并显示在我的 Form1.cs [Design] 上。
public Form1()
{
InitializeComponent();
Label[] board = new Label[361];
for (int i = 1; i < 362; i++)
{
board[i] = new Label { Name = "label" + i, Height = 55, Width = 55, MinimumSize = new Size(55, 55), Text = "label " + i };
}
int x = 0;
int y = 0;
foreach (var Label in board)
{
if (x >= 580)
{
x = 0;
y = y + Label.Height + 55;
}
Label.Location = new Point(x, y);
this.Controls.Add(Label);
x += Label.Width;
}
}
text = "label" + 1 出现错误。不知道为什么。感谢您的帮助。
【问题讨论】:
-
您介意提供确切的错误信息吗?
-
没有语法错误,您必须更具体
-
在 GomokuProject.exe 中发生了“System.IndexOutOfRangeException”类型的未处理异常附加信息:索引超出了数组的范围。
-
以上代码会抛出IndexOutOfRange错误,将值362改为361
-
是的,有效!谢谢你。现在我在 label.location 收到错误 - 新点... GomokuProject.exe 中发生了“System.NullReferenceException”类型的未处理异常附加信息:对象引用未设置为对象的实例。