使用按钮更改标签

时间:2014-01-05 11:23:16

标签: c# winforms

我有10个标签。我想通过按一个按钮逐个显示它们。

到目前为止,我已经考虑过了这个问题:

private void button1_Click(object sender, EventArgs e)
{
for (int i = 1; i < 11; i++)
{

}
}

......但我不知道在这个循环中放什么。任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:1)

在此循环中尝试执行此操作: 如果标签名称是Label_1,Label_2,......等

Label lbl = this.Controls.Find("Label_" + i, true).FirstOrDefault() as Label;
lbl.Visible = true;

如果你需要按下按钮1,那么标签1会出现,你可以这样做:

private void button1_Click(object sender, EventArgs e)
{
Label lbl = this.Controls.Find("Label_" + buttonNumber, true).FirstOrDefault() as Label;
    lbl.Visible = true;

}

答案 1 :(得分:1)

如果您打算在每次用户按下按钮时再显示一个标签,则可以使用下面的代码。这是基于您的标签名称为Label1Label10的事实。如果它们的名称不同,可以使用Label label =语句或其他方式替换行switch以标识标签。

int visibleLabel = 1; // to define which one is to be made visible

private void button1_Click(object sender, EventArgs e)
{
    if (visibleLabel < 10)
    {
        Label label = this.Controls.Find("Label" + visibleLabel , true).FirstOrDefault() as Label;
        if (label != null) label.Visible = true;
        visibleLabel++;
    }
}

答案 2 :(得分:0)

private void button1_Click(object sender, EventArgs e)
{
    foreach(Control c in this.Controls)
    {
        if(c is Label)
           c.Visible = true;
    }
}

答案 3 :(得分:0)

将to-make-visible标签的索引存储在变量中并使其可见。

private int _index;
private List<Label> _listThatContainsYourLabels;

private void button1_Click(object sender, EventArgs e)
{
    _listThatContainsYourLabels[_index++].Visible = true;
}