标签数组

时间:2009-06-07 18:16:00

标签: c# .net

如何使用Microsoft Visual C#Express Edition创建标签数组?有没有办法用图形(拖放)编辑器或我必须手动将其添加到自动生成的代码?

4 个答案:

答案 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 ..