如何使用Microsoft Visual C#Express Edition创建标签数组?有没有办法用图形(拖放)编辑器或我必须手动将其添加到自动生成的代码?
答案 0 :(得分:14)
您必须手动添加它。但是不要将它添加到自动生成的代码中,因为它可以被Visual Studio设计器覆盖。
我会在表单的Load事件处理程序中添加它。代码可能如下所示:
Label[] labels = new Label[10];
labels[0] = new Label();
labels[0].Text = "blablabla";
labels[0].Location = new System.Drawing.Point(100, 100);
...
labels[9] = new Label();
...
PS。你的任务对我来说似乎有点不寻常。你想让我做什么?也许有更好的方法来完成你的任务。
答案 1 :(得分:6)
您可以使用GUI编辑器将标签添加到表单中,然后在表单加载中将这些标签添加到数组中。
Label[] _Labels = new Label[3];
private void MyForm_Load(object sender, EventArgs e)
{
_Labels[0] = this.Label1;
_Labels[1] = this.Label2;
_Labels[2] = this.Label3;
}
这至少可以使设置位置更容易。如果您正在动态创建标签(或任何控件),您可能还需要考虑使用FlowLayoutPanel。
答案 2 :(得分:0)
Label[ , ] _arr = new Label[4 , 4];
private void Form1_Load(object sender, EventArgs e)
{
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
_arr[i ,j] = new Label();
_arr[i ,j].Text = ""+i+","+j;
_arr[i ,j].Size = new Size(50,50);
_arr[i ,j].Location = new Point(j*50,i*50);
//you can set other property here like Border or else
this.Controls.Add(_arr[i ,j]);
}
}
}
如果你想在C#中设置Border of Label,你应该检查一下 http://msdn.microsoft.com/en-us/library/system.windows.forms.label.aspx
Label具有名为Border的属性。请检查一下。感谢
答案 3 :(得分:0)
int i=0;
ControlNum=10;
Label[] lblExample= new Label[];
for(i=0;i<ControlNum;i++)
{
lblExample[i] = new Label();
lblExample[i].ID="lblName"+i; //lblName0,lblName1,lblName2....
Form1.Controls.Add(lblExample[i]);
}
xD ......
Joshit0 ..