【问题标题】:Custom Windows Form menu in vb.netvb.net 中的自定义 Windows 窗体菜单
【发布时间】:2013-08-07 20:12:52
【问题描述】:

我想制作一个自定义 Windows 窗体菜单。现在,当我说“菜单”时,我指的是“退出”、“最大化”和“最小化”图标所在的位置。我在 Microsoft Office 软件中看到 Microsoft 已经完成了自定义 WinForms 菜单,以及在许多其他软件中。我做了几个月的研究,搜索了很多,但没有找到任何东西!我发现一些公司目前正在销售包含 Visual Basic、C# 和 Visual C++ 组件的组件包,但是我没有钱购买其中一个包,因此我需要帮助制作自定义 Windows 窗体菜单。

我想将自定义 Windows 窗体菜单设为“功能区”类型。因此,它将有一个“功能区表单菜单”。但是,我不希望使用任何产品或包裹来为我做这件事,因为我没有钱给他们。

我尝试了多种方法来创建自定义表单菜单:

  • 使用停靠在窗体顶部的 ToolStrip,并将“从左到右”的属性设置为 True,并为“退出”、“最大化”和“最小化”按钮使用按钮或标签,虽然,这并不是很理想,我也不想再这样了。

  • 使用表单顶部的按钮并将面板停靠在其后面,使其看起来像自定义表单,但同样,这也不是很理想。

无论如何,有人可以帮我制作一个自定义的 Windows 窗体菜单吗?如果你也能帮我把它做成“丝带风格”那就太好了!

请注意这篇文章是针对 Visual Basic 编程语言的。我使用的是 Visual Basic! :D

谢谢。

【问题讨论】:

    标签: vb.net winforms ribbon-control


    【解决方案1】:

    您有几个选择,首先您可以将 ClientArea 扩展到 NonClientArea 你最终会得到类似:http://www.codeproject.com/Articles/44235/Painting-Vista-s-Aero-NonClientArea-in-VB-NET

    在进行了一些挖掘之后,我发现了一个用于 windows 7 功能区控件的 .net 包装器,我还没有尝试使用它,但你也许可以让它工作: http://windowsribbon.codeplex.com/

    或者,您可以从头开始创建它,将 FormBorderStyle 设置为 None 并通过您自己的代码处理移动/重新调整大小等。 以及自己绘制类似 Ribbon 的控件。

    后者的工作量更大,但最可定制,我希望这对您有所帮助并让您走上正轨!

    【讨论】:

    • 感谢拉斐尔!很高兴有人终于看到了这篇文章......我会尝试制作我自己的功能区表单,但你的意思是在表单上我希望功能区使边框样式无,然后使用按钮或工具条与我的功能区图标等菜单?
    • 我想说 FormBorderStyle = none,但是你可以使用默认控件来制作你喜欢的功能区,或者扩展控件以根据你的喜好自定义它们,或者甚至从头开始创建它们,如果你需要一些与默认值不同的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    相关资源
    最近更新 更多