C# 我可以在WinForms中将菜单拆分为多列吗?

C# 我可以在WinForms中将菜单拆分为多列吗?,c#,.net,winforms,menustrip,C#,.net,Winforms,Menustrip,我的应用程序中的菜单包含的项目太多,无法在一个垂直行中显示。将其拆分为两个菜单看起来不是一个好的解决方案,因为它会破坏UI语义。我可以只设置一个菜单以显示多列吗(如垂直溢出时的Windows XP经典开始菜单)?为菜单创建一些级别而不是垂直拆分菜单如何?您的选项不能分组吗 编辑: 我不知道为什么我被否决了,但如果你不想破坏菜单的语义并: 创建长度为50个项目的不可读菜单 或者创建这样的菜单,然后强制将其拆分为列 然后你必须做些别的事情,分组和级别就在这里了。是的,你可以稍微改变一下方法,使用

我的应用程序中的菜单包含的项目太多,无法在一个垂直行中显示。将其拆分为两个菜单看起来不是一个好的解决方案,因为它会破坏UI语义。我可以只设置一个菜单以显示多列吗(如垂直溢出时的Windows XP经典开始菜单)?

为菜单创建一些级别而不是垂直拆分菜单如何?您的选项不能分组吗

编辑:

我不知道为什么我被否决了,但如果你不想破坏菜单的语义并:

  • 创建长度为50个项目的不可读菜单
  • 或者创建这样的菜单,然后强制将其拆分为列

然后你必须做些别的事情,分组和级别就在这里了。

是的,你可以稍微改变一下方法,使用拆分容器,使用左面板作为菜单,右面板作为内容面板


这将允许您灵活地按自己喜欢的方式排列菜单按钮

在我的情况下,这也将打破这一想法。PS:否决票不是我的。嗯,也许你想选择某种类型的总机,你可以创建一个带有按钮的表单作为菜单选项。然后,您可以创建触发该交换机的顶级菜单选项,将交换机放置在应该打开菜单的位置,然后您可以这样做:)我会直截了当地说,我会对此进行否决,并解释原因。我觉得这个答案太冒昧了。在许多情况下,包含许多项的菜单是有意义的。例如,在菜单中,用户选择字母表的字母。将其排列在列中比单个长列表或子菜单更好。你认为OP计划使用专栏的方式本质上就是糟糕的设计,这是不公平的此外,答案甚至不能回答问题,这本身就值得投反对票。如果你只是想反对这种做法,你可以在评论中这样做。否决票只是因为你没有回答问题。没有什么比我问一个非常具体的问题更让我恼火的了,比如“如何完成任务a”,而我得到的答案是“你不应该这么做”或者“为什么不改做任务B”。@Milky-即使你100%绝对肯定那个人会摔断腿,你不会告诉他去酒吧而不是跳悬崖吧?:)请注意,包含明显多于10项的菜单确实很难使用(Office在2007年使用ribbon的一个原因)。