MainMenu占用的区域不包含在表单的客户区域中。但是,MenuStrip占用的区域包含在窗体的客户区域中。如果我将在坐标0,0处绘制一个字符串,那么它将与MenuStrip重叠。
如何使MenuStrip占用的区域从客户区域中排除?
答案 0 :(得分:1)
这很容易。
将row1设置为23-25px,将row2设置为自动调整大小。
现在将菜单拖放到第一个单元格/行和您的"客户区" (面板?) 到第二个。
如果您有拖拽它们的麻烦,只需使用文档大纲。
修改:您是否尝试过简单的menustrip1.SendToBack();
更改z顺序?
或者你的字符串等等Control.BringToFront();
?
答案 1 :(得分:1)
AFAIK,你只有两个选择 -
自己做数学。 (不我的首选解决方案)。
使用简单面板作为所有控件的容器,菜单项本身除外。 (我的首选解决方案,知道我对winforms的了解,只会想到合理的选择)。
请注意,第二个选项与建议使用TableLayoutPanel的其他答案略有不同。 恕我直言,一个简单的面板就足够了......只要你照顾Z顺序。
编辑 - 看到有关您之前已弃用的问题的其他评论..阅读完您的评论后,很明显您已经排除了这些选项..抱歉。