【发布时间】:2021-04-08 20:10:14
【问题描述】:
public void blockControl()
{
for (int i = 0; i < 10; i++)
{
if (game.wordCount < i + 1)
{
Label lbl = (Label)game.Controls["wordLabel" + (i + 1).ToString()];
lbl.Visible = false;
Panel a1 = (Panel)game.Controls["wordLabel" + (i + 1).ToString()];
a1.Visible = false;
}
}
}
这就是我在用户控件中访问标签的方式。
但是如果我在面板上贴上标签 lbl=0 正在发生
我应该怎么做才能到达?
我是这样解决的
public void blockControl()
{
for (int i = 0; i < 10; i++)
{
if (form1.harfSayisi < i + 1)
{
Panel abc = (Panel)form1.Controls["panel" + (i + 1).ToString()];
Label lbl = (Label)abc.Controls["lblHarf" + (i + 1).ToString()];
lbl.Visible = false;
abc.Visible = false;
}
}
}
【问题讨论】:
-
您是否尝试循环面板的
Controls集合? -
myPanel.Controls["wordLabel" + (i + 1).ToString()];(用正确的面板名称代替我的myPanel)?由于标签在面板上,而不是在form1 -
不要在问题中发布谢谢和解决方案。如果您已经解决了问题,请发布一个答案,其中显示您提出的代码并解释该代码解决问题的原因。