如何在程序表单中创建导航

时间:2013-12-12 17:18:57

标签: c# navigation menustrip

警告!这可能是菜鸟问题!提前抱歉。

我正在学习C#(使用MS Studio 2013),我很难在简单的桌面程序中创建一些像样的导航。

基本上我想要的是:MenuStrip有“计算某些东西”,“计算某些东西”等选项......以及其他(我以后可以轻松添加 - 就像网页上的动态菜单一样)。如果您单击与StripMenu连接的表单内的第一个选项,您将获得一些控件,允许您执行某些操作(如网页上的输入)。如果你点击第二个选项,所有这些选项都将消失,你将得到一组新的控件,你可以在那里做一些事情(只是另一个网页可以玩)。

最好的方法是什么(我觉得很难找到:))。我想通过的方式(更多来自js然后教程的经验)就是在javascript / html中使用show / hide。

ExamplePanel.Visible = false;
ExampleOtherPanel.Visible = true;

但这似乎不对 - 我认为在更大的程序中管理是不可能的(不仅在代码中,而且在视觉设计师中 - 你只能在Form中安装那么多Panels。)

有什么建议吗?或者至少是我能找到的材料的链接?

编辑: 最后我放弃并使用了多个表格作为回答的消息。

    private void MenuStripExample_Click_1(object sender, EventArgs e)
    {
        SomeForm SomeForm = new SomeForm();
        this.Hide(); //Hide the main form before showing the secondary
        SomeForm.ShowDialog(); //Show secondary form, code execution stop until SomeForm is closed
        //this.Show(); //You may uncomment this if you want to have the previous Form to get back after you close new one
    }

1 个答案:

答案 0 :(得分:1)

您通常不会隐藏和显示具有不同布局的面板。这不是一个好的设计。

如果您有完整的不同导航/控制集,则创建一个负责控制集的新Form

如果您不想使用新表格,请查看TabControl

您可能还想查看MDI-Container。您可以将Form用作MDI-Container,并在此容器内显示各种其他Form作为子元素。