我能在WinForms中将菜单分为多列吗?

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

请注意,具有远超过10个项目的菜单非常难以使用(这也是Office在2007年采用功能区的原因之一)。 - Joey
2个回答

3
如何为菜单创建一些级别,而不是垂直分割菜单?您的选项不能分组吗?
编辑:
不知道为什么我被踩了,但如果您不想破坏菜单的语义,并且:
- 创建长度约为50个项目的难以阅读的菜单 - 或者创建这样的菜单,然后强制将它们分列
那么您必须采取其他措施,分组和级别就派上用场了。

在我的情况下,这也会破坏这个想法。PS:我没有投反对票。 - Ivan
也许你想要创建一种类似交换机的东西,可以将其作为一个带有按钮的表单来创建菜单选项。然后,您可以创建顶级菜单选项来触发该交换机,将交换机放置在应该打开菜单的位置,就这样 :) - Daniel Mošmondor
3
我承认我对此进行了投票,并且我会解释原因。我认为这个答案太过于自以为是。有很多情况下,具有许多选项的菜单是有意义的。例如考虑一个用户选择字母表中的一个字母的菜单。将其排列成列比单个长列表或子菜单更好的界面设计。您假设OP打算使用列的方式是本质上的糟糕设计并不公平。此外,这个答案甚至没有回答问题,这本身就值得一次投票。如果你只是想反对这种做法,可以在评论中这样做。 - Timwi
下降的投票只是因为您没有按照问题的要求进行回答。对我来说,最让人恼火的事情就是当我提出一个非常具体的问题,比如“如何完成任务A”,而我得到的答案却是“你不应该尝试那样做”或者“为什么不做任务B”。 - Mike Dinescu
@Milky - 即使你百分之百确定那个人即将摔断腿,你也不会告诉他去酒吧而不是跳崖吧? :) - Daniel Mošmondor

0

是的,您可以稍微改变方法,使用分割容器,将左侧面板用作菜单,右侧面板用作内容面板。

这将允许您以任何您喜欢的方式排列菜单按钮。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接