作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以在 Windows 窗体中使用 C# 在窗体加载时隐藏所有特定控件,例如标签或按钮,然后选择显示我不想显示的那些?
我有一个包含很多按钮和标签的程序,但我只想在加载时显示一两个,我觉得对每个标签都使用 label1.Hide();
这种方法似乎效率低下,但我可以在需要时显示我想要的标签。也许使用循环,像这样:
foreach (Label)
{
this.Hide();
}
最佳答案
听起来您可以将它们全部隐藏在设计器中,然后您就不必在运行时处理隐藏它们的问题了。
如果您确实必须在运行时隐藏它们,那么您可以使用一点 LINQ 获取某种类型的 Form 上的所有控件:
foreach (var lbl in Controls.OfType<Label>())
lbl.Hide();
您甚至可以根据名称过滤控件,这样您就可以只隐藏想要隐藏的控件:
foreach (var lbl in Controls.OfType<Label>().Where(x => x.Name != "lblAlwaysShow"))
lbl.Hide();
如果它们也隐藏在其他控件中,例如 Panels 或 GroupBoxes,您也必须遍历它们的 ControlCollections:
foreach (var lbl in panel1.Controls.OfType<Label>())
lbl.Hide();
foreach (var lbl in groupBox1.Controls.OfType<Label>())
lbl.Hide();
关于C# 隐藏所有标签/控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31233558/
我是一名优秀的程序员,十分优秀!