2012-10-07 73 views
1

我需要一個增加label name的命令代碼。增加標籤名稱

我需要在10(示例)labels中顯示一些文本。

實施例:

label1.Text = "1"; 
label2.Text = "2"; 
label3.Text = "3"; 
label4.Text = "4"; 
label5.Text = "5"; 
label6.Text = "6"; 

我需要增加數量從label name (label1, label2, etc.)foreach其中我會增加可變ii將在結構中使用這樣label.Name = "label" + i.ToString();)。

我希望你明白我想說什麼。

我嘗試這一點,但不工作:

Label[] label = new Label[2]; 

int ii = 0; 
foreach(...) // go through a list 
{ 
       label[ii] = new Label(); 
       label[ii].Text = x.materie + tip + "\nsala " + x.sala; 
       label[ii].Visible = true; 
       label[ii].Location = new System.Drawing.Point(cX, cY); 
       label[ii].SetBounds(cX, cY, 98, cH); 
       label[ii].MinimumSize = new Size(98, cH); 
       label[ii].MaximumSize = new Size(98, cH); 

       ii++; 
} 
+1

不明白很多,你知道答案,你在這裏有什麼意思? –

+0

這不是答案。我只顯示label.Name結構,但不是答案。 – AnDr3yy

回答

0

假設你有Label控件數組,標籤,你可以做到以下幾點:

int i = 1; 

for (int i = 1; i < label.Length; i++) 
{ 
    lbl.ID = String.Format("label{0}", i.ToString()); 
} 
+0

我有這個:Label [] label = new Label [50] ;,但我如何可以構建LabelCollection? – AnDr3yy

+0

甚至可以使用該數組而不是集合(如果沒有)。檢查我更新的答案:) –

+0

我嘗試在問題中顯示的方法(編輯問題)。爲什麼不工作? – AnDr3yy

3
int count = 10; 
for (int i = 1; i <= count; i++) 
{ 
    // setup label and add them to the page hierarchy 
    Label lbl = new Label(); 
    lbl.Name = "label" + i; 
    lbl.Text = i.ToString(); 
    //assuming form1 is a form in your page with a runat="server" attribute. 
    this.Controls.Add(lbl); 
} 
+0

說這個標籤不包含ID的定義,並且沒有找到MyParentControl命令。 – AnDr3yy

+0

@ AnDr3yy您不需要添加MyParentControl,因爲您沒有具有此名稱的容器。請嘗試添加「this」而不是「MyParentControl」,所以它看起來像這樣:this.Controls.Add(lbl); –

+0

MyParentControl是您的窗體或您希望放置標籤的某個面板。將其替換爲:Form1.Controls.Add(lbl); – Kamil