2009-06-07 73 views
4

如何使用Microsoft Visual C#Express Edition創建標籤數組?有辦法用圖形(drag'n'drop)編輯器來做到這一點,或者我必須手動將它添加到自動生成的代碼?Array of Labels

+1

生成的代碼永遠不會改變什麼:你的修改會由設計師 – 2009-06-07 18:29:58

回答

13

您必須手動添加它。但是不要將它添加到自動生成的代碼中,因爲它可以被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。你的任務對我來說似乎有點不尋常。您想做什麼?也許有更好的方法來完成你的任務。

+0

由於被覆蓋......我做的圖靈機模擬器。這些標籤將代表磁帶的一部分 – dpetek 2009-06-07 18:27:07

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

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#標籤的邊境

也許你應該檢查 http://msdn.microsoft.com/en-us/library/system.windows.forms.label.aspx

標籤有屬性稱爲邊界。請檢查一下。由於

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

+0

您正在爲Label []聲明行使用錯誤的括號。這段代碼不會編譯。 – 2014-01-06 22:39:49