面板隐藏和显示

本文关键字:显示 隐藏 | 更新日期: 2023-09-27 18:16:35

我在splitviewcontainer的一侧有两个面板占用相同的空间。我想动态地显示或隐藏一个面板或另一个。

到目前为止,我尝试过的方法有:
if (treeView1.SelectedNode.Name.Contains("cat")) {
    menuItemPanel.SendToBack();
    foreach (Control control in menuItemPanel.Controls)
        control.SendToBack();
    menuItemPanel.Visible = false;
    categoryPanel.Hide();
    categoryPanel.Visible = true;
    categoryPanel.BringToFront();
    foreach (Control control in categoryPanel.Controls)
        control.BringToFront();
    categoryPanel.Show();
    // ...
}

,反之则为else。这些方法似乎都不起作用。也就是说,在选择类别节点时显示categoryPanel,但在选择menuItem节点时屏幕显示空白。

我做错了什么?

面板隐藏和显示

代码没有多大意义,重新排序面板中的控件不是您想要做的。也听起来,代码在else子句是失败的,代码你没有发布。这样做(猜测):

bool categorySelected = treeView1.SelectedNode.Name.Contains("cat");
menuItemPanel.Visible = !categorySelected;
categoryPanel.Visible = categorySelected;

try this

   if (treeView1.SelectedNode.Name.Contains("cat"))
    {
         menuItemPanel.Visible = false;  
         categoryPanel.Visible = true;   
    }