C#如何隐藏除3之外的所有面板
你好,我找到了一些关于这个主题的链接,但它不起作用。 我想通过点击3个面板(菜单等)上的按钮使所有面板不可见 我尝试的以下代码无效:C#如何隐藏除3之外的所有面板,c#,hide,panel,C#,Hide,Panel,你好,我找到了一些关于这个主题的链接,但它不起作用。 我想通过点击3个面板(菜单等)上的按钮使所有面板不可见 我尝试的以下代码无效: private IEnumerable<Panel> _panels; private IEnumerable<Panel> Panels { get { if (_panels = null) _panels = new List<
private IEnumerable<Panel> _panels;
private IEnumerable<Panel> Panels
{
get
{
if (_panels = null)
_panels = new List<Panel>
{
Panel1,
Panel2,
Panel3,
// etc...
}
return _panels;
}
}
private void HidePanels()
{
foreach (var panel in Panels)
panel.Visible = false;
}
private void btnHome_Click(object sender, EventArgs e)
{
HidePanels();
homePanel.Visible = true;
}
专用IEnumerable\u面板;
私人可数配电盘
{
得到
{
如果(_panels=null)
_面板=新列表
{
小组1,
小组2,
小组3,
//等等。。。
}
返回面板;
}
}
私有void HidePanels()
{
foreach(面板中的var面板)
面板可见=假;
}
私有void btnHome_单击(对象发送方,事件参数e)
{
HidePanels();
homePanel.Visible=true;
}
<>代码>你是否考虑不隐藏那些你不想隐藏的东西,而不是隐藏所有的东西?问题是,我有一个菜单,菜单有16个菜单按钮。因此,我将有16个面板。例如,如果我点击反馈按钮。我想展示反馈面板。例如,如果我单击聊天按钮,我想显示聊天面板。但是我的菜单有3个面板,它们必须一直保留。好的,不要隐藏它们。定义不会像您希望从面板
列表中排除三个菜单面板那样工作。如果您还将其用于其他用途,请创建一个单独的列表--nonmenumpanels
--并在HidePanels()
中迭代该列表。为了清晰起见,将HidePanels()
重命名为hidenonmenumpanels()
。您可以有任意数量的不同列表,其中包含所创建的整个面板的不同子集。这没什么错。