我有10个标签。我想通过按一个按钮逐个显示它们。
到目前为止,我已经考虑过了这个问题:
private void button1_Click(object sender, EventArgs e)
{
for (int i = 1; i < 11; i++)
{
}
}
......但我不知道在这个循环中放什么。任何人都可以帮助我吗?
答案 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)
如果您打算在每次用户按下按钮时再显示一个标签,则可以使用下面的代码。这是基于您的标签名称为Label1
到Label10
的事实。如果它们的名称不同,可以使用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;
}