2014-09-27 68 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 = ... 
}