我使用 MenuStrip 创建了一个简单的表单。 MenuStrip 的 LayoutStyle
设置为 HorizontalStackWithOverflow
(默认值)。
根据MSDN reference on MenuStrip ,其 LayoutStyle属性继承自 ToolStrip。 LayoutStyle 的可能值之一是 HorizontalStackWithOverflow,这也是默认设置。此设置应将 Overflow
属性设置为 AsNeeded 的项目移至溢出按钮。
当我运行应用程序并调整表单大小以使菜单不完全适合时,这种情况不会发生。我已将 ToolStripMenuItems Overflow 属性设置为 AsNeeded,但是当我调整表单大小时,右侧的菜单项就消失了。
文档是否有误?是否只能在 ToolStrip 上获得溢出按钮,而在 MenuStrip 上得不到溢出按钮?或者我还需要做其他事情才能让事情正常进行吗?或者我只是误读了文档?
最佳答案
我刚刚遇到了同样的问题,并找到了让它工作的方法。
在MenuStrip上您需要设置:
myMenuStrip.CanOverflow = True
默认值为 false。
然后对于每个 MenuItem,您需要设置:
myToolStripMenuItem.Overflow = ToolStripItemOverflow.AsNeeded
或
myToolStripMenuItem.Overflow = ToolStripItemOverflow.Always
默认为 ToolStripItemOverflow.Never
引用文献:
关于.net - MenuStrip 控件能否将其 LayoutStyle 设置为 StackWithOverflow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4726551/