gpt4 book ai didi

C# 隐藏所有标签/控件

转载 作者:行者123 更新时间:2023-12-04 00:52:43 26 4
gpt4 key购买 nike

是否可以在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com