com*_*cme 5 .net menustrip winforms
我用MenuStrip创建一个简单的表单.MenuStrip LayoutStyle设置为HorizontalStackWithOverflow(默认值).
根据MenuStrip上的MSDN参考,其LayoutStyle属性继承自ToolStrip.LayoutStyle的一个可能值HorizontalStackWithOverflow是默认设置.此设置应提供其Overflow属性设置为AsNeeded的项目移动到溢出按钮.
当我运行应用程序并调整窗体大小以使菜单不完全适合时,这不会发生.我已将ToolStripMenuItems溢出属性设置为AsNeeded,但是当我调整窗体大小时,右侧的菜单项就会消失.
文档是否错误,您是否只能在ToolStrip上获得溢出按钮而不是在MenuStrip上?或者,为了让事情有效,我还需要做些什么吗?或者我只是误读了文档?
小智 8
我遇到了同样的问题,并找到了让它运转的方法.
在MenuStrip上你需要设置:
myMenuStrip.CanOverflow = True
Run Code Online (Sandbox Code Playgroud)
默认值为false.
然后,您需要设置每个MenuItem:
myToolStripMenuItem.Overflow = ToolStripItemOverflow.AsNeeded
Run Code Online (Sandbox Code Playgroud)
要么
myToolStripMenuItem.Overflow = ToolStripItemOverflow.Always
Run Code Online (Sandbox Code Playgroud)
默认值为ToolStripItemOverflow.Never
参考文献:
ToolStrip类有很多像这样的头发.我认为这里适当的选择是LayoutStyle = Flow来获取菜单项.这是内置Windows菜单的工作方式.
但是,您必须处理由此引起的布局问题.将一个Panel放在具有Dock = Fill的表单上,以便当菜单条需要更多空间时,所有控件都会自动向下移动.