如何将MenuStrip占用的区域从表单的客户端区域中排除
本文关键字:区域 表单 客户端 排除 MenuStrip | 更新日期: 2023-09-27 18:22:02
MainMenu占用的区域被排除在表单的客户端区域之外。但是MenuStrip占用的区域包含在表单的客户区域中。因此,如果我要在坐标0、0处绘制字符串,则它将被MenuStap重叠。
如何将MenuStrip占用的区域从客户端区域中排除?
这很容易。
- 创建TableLayoutPanel
- 设置停靠:填充
- 删除最后一列。现在您只有1列
-
将row1设置为23-25px,将row2设置为自动调整大小。
-
现在,将菜单拖放到第一个单元格/行和"客户端区域"(面板?)到第二个。
如果您在拖放时遇到一些问题,请使用文档大纲。
编辑:您是否尝试过简单的menustrip1.SendToBack();
来更改z顺序?或者字符串的Control.BringToFront();
等。?
AFAIK,您只有两个选项-
-
你自己计算。(不是我的首选解决方案)。
-
使用一个简单的面板作为所有控件的容器,菜单项本身除外。(我的首选解决方案,知道我对winforms的了解,这是我脑海中唯一合理的选择)。
请注意,第二个选项与建议使用TableLayoutPanel的其他答案略有不同。。IMHO,一个简单的小组就足够了。。只要你注意Z顺序。
编辑-看到您的问题上的其他评论,这些评论之前已经崩溃。。看完你的评论后,很明显你已经排除了这些选项。。很抱歉