2014-09-27 67 views
0

我有列表,其中有6個句子,我想要放在6個不同的標籤中。 所有六個標籤被命名爲Slot0Sentence,Slot1Sentence,Slot2Sentence ...如何從循環訪問標籤並更改其文本

我這是怎麼循環

for (int i = 0; i < ls.Count; i++) 
{ 
    Slot0Sentence.Text = ls[i]; 
} 

但是我不知道如何訪問其他標籤。 如果會有正常的字符串,我會做槽+我+句子,但在這種情況下,這不工作。

+0

把它們放在一個* Label *數組中......'var labels = new Label [] {Slot0Sentence,Slot1Sentence,Slot2Sentence,...};' – 2014-09-27 18:56:52

+0

謝謝!我只是開始在C#編碼,所以不知道陣列。 – Edgar 2014-09-27 19:05:22

+0

除非'array',使用'List

回答

1

帶有一組標籤可以控制它們的屬性。你不需要在這裏設計,你可以用代碼來做到這一點。

Label[] l = new Label[6]; 
int x = 20; 
for (int i = 0; i < l.Length; i++) 
{ 
    l[i] = new Label(); 
    l[i].Name = "Hello " + i.ToString(); 
    l[i].Text = "Hello " + i.ToString(); 
    l[i].Location = new Point(x, 10); 
    x += 100; 
} 

您可以將名稱和文本更改爲任何你喜歡的。

0

我只是使用父容器(Grid,StackPanel,..)的Children屬性。這給你一個支持索引的集合。此外,如果您有不同的控件,請使用if語句

if(element in Label) 
{ 
element.Text = ... 
}