如何从循环访问标签并更改其文本

时间:2014-09-27 18:55:09

标签: c#

我列出了6个句子,我想把它放在6个不同的标签中。 所有六个标签都被命名为Slot0Sentence,Slot1Sentence,Slot2Sentence ......

这是我循环的方式

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

但是我不知道如何访问其他标签。 如果有正常的字符串,我会做Slot + i + Sentence,但在这种情况下,这不起作用。

2 个答案:

答案 0 :(得分: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;
}

您可以将名称和文字更改为您喜欢的任何内容。

答案 1 :(得分:0)

我只使用父容器的Children属性(Grid,StackPanel,..)。这为您提供了一个支持索引的集合。此外,如果您有不同的控件,请使用if语句

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