C#面板不可见

时间:2013-03-05 09:32:05

标签: c# winforms panel

我有一个主菜单,当我点击其中一个按钮时,菜单面板应该隐藏,点击的按钮应该打开。这适用于一个按钮,但对于我的第二个按钮它不适用。好吧,它显示了我猜的小组,但它是空的,即使我在面板中有东西。

代码很简单,所以我看不出问题出在哪里

public Form1()
{
        InitializeComponent();
        menu_botStrip.Text = DateTime.Now.ToString("dd/mm/yyyy h:mm tt");
        panel_startMenu.Show();
        panel_informationService.Hide();
        panel_customerManagement.Hide();
}

private void btn_informationService_Click(object sender, EventArgs e)
{
    panel_startMenu.Hide();
    panel_informationService.Show();
}

    private void btn_customerManagement_Click(object sender, EventArgs e)
    {

        panel_startMenu.Hide();
        panel_customerManagement.Show();
    }

3 个答案:

答案 0 :(得分:25)

确保没有将第二个面板放在第一个面板内。如果您从工具箱中拖动面板,则很有可能出现这种情况。

要确保打开Document Outline窗口(View-> Other Windows-> Document Outline),请查看面板之间的关系。确保它们不相互包含在一起。它们必须处于相同的嵌套水平。

如果是这样的话:

Wrong

然后选择内部面板并按下窗口上方的左箭头按钮。那应该是:

Right

这是正确的。

答案 1 :(得分:0)

不应该再次隐藏第一个面板(信息服务)?如果两者同时显示,也许有一个丑陋的叠加......

private void btn_informationService_Click(object sender, EventArgs e)
{
    panel_startMenu.Hide();
    panel_customerManagement.Hide();
    panel_informationService.Show();
}

private void btn_customerManagement_Click(object sender, EventArgs e)
{
    panel_startMenu.Hide();
    panel_informationService.Hide();
    panel_customerManagement.Show();
}

答案 2 :(得分:-1)

我同意@ MD.Unicorn,您必须小心在表单上排序这些面板(图层上下文)。这意味着如果您的面板包含另一个或多个面板 - 隐藏特定父级后,您将隐藏所有子组件。