【问题标题】:How to create vertical navigation bar in Windows Forms?如何在 Windows 窗体中创建垂直导航栏?
【发布时间】:2016-03-27 04:02:45
【问题描述】:

我正在做我的学校项目,Windows 窗体应用程序。

如您所见,我创建了 3 个面板,一个用于标题,一个用于导航栏,一个用于内容。我可以将标题和导航栏设为静态,如网页中的布局,并在 btn 点击时更改内容。

我创建了几个面板,并更改每个面板的可见性(真/假)以显示特定的面板。有没有更好的方法来做这个,我认为它必须更优雅,我是初学者,它的学校项目,我正在寻找聪明的答案。

【问题讨论】:

    标签: c# .net winforms


    【解决方案1】:

    在 Windows 窗体中创建这样的布局当然有很多选择。在这里我分享一些垂直菜单、中心容器和内容持有者的好选择。

    垂直菜单

    您有很多选择,包括这 2 个不错的选择:

    • ToolStrip 组件,其 Dock 属性设置为 Left。菜单项也可以有图像,您可以设置在文本之前或文本上方显示图像。您可以在单击时选中一项并取消选中其他项。这样一来,哪个是活动菜单就很明显了。
    • Panel 控件包含一些 RadioButton 控件。面板的Dock 属性设置为Left,它包含一些RadionButton 控件,您将其Appearance 设置为Button,并将它们的Dock 属性设置为Top。您可以将单选按钮的FlatAppearance 设置为SystemFlat。单选按钮也可以在文本之前或之上显示图像。

    中心容器

    您可以使用Panel 作为容器。将容器面板的Dock属性设置为Fill

    内容持有者

    像菜单一样,您有很多选择,包括这两个不错的选择:

    • 您可以使用不同的TabPagesTabControl 作为内容持有者。将不同的内容放在控件的不同选项卡中。您可以隐藏选项卡标题,也可以禁用在选项卡之间导航的快捷键。然后根据选定的菜单设置控件的选定选项卡就足够了。

    • 您可以使用不同的Forms 作为内容持有者。将不同的内容以不同的形式呈现。然后您可以根据所选菜单在内容面板中显示一个表单。要在内容面板中显示表单,只需将表单的 TopLevel 属性设置为 false 并将其中的 FormBorderStyle 设置为 None 并将它们添加到中心容器控件集合并显示表单即可。您可以根据所选菜单显示和隐藏表单。

    【讨论】:

      【解决方案2】:

      您可以使用FlowLayoutPanel 代替Panel,然后只需向其中添加菜单项块。

      如果考虑到 FlowLayoutPanel 的宽度,你给菜单项适当的宽度,你会得到你想要的菜单。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-06-10
        • 2018-09-30
        • 2015-01-05
        • 1970-01-01
        • 2014-09-10
        • 2013-10-09
        • 2017-08-04
        相关资源
        最近更新 更多