在我的MDI框架中,我正在如下创建MDI子窗口:
Form frm = new frmMyChild();
frm.MdiParent = this;
frm.WindowState = FormWindowState.Maximized;
frm.Show();
frm.Focus();
到目前为止,这很好,但是屏幕很快就会“弹起”,因为子窗口被置于“正常”状态,然后再次将它们最大化。如何预防?
即使将MenuStrip添加到MDI父窗体,Form.MainMenuStrip仍为 blendnull
。当此属性为null
时,MDI子项的“系统菜单”控件不会与MenuStrip(或旧的MainMenu
)一起使用,因此子子窗体标题栏仍然可见,并位于MenuStrip上方。当创建并最大化新的子窗体时,在重新创建子窗体标题时,上下菜单MenuStrip bounces。 将MainMenuStrip
属性设置为MDI父级MenuStrip的实例,将使MDI子级的System Menu控件与MenuStrip(或MainMenu
)一起成为
[TheMDIMenuStrip
InitializeComponent()
中初始化的MDI父级的MenuStrip。 public partial class MDIParent : Form
{
public MDIParent()
{
InitializeComponent();
this.MainMenuStrip = this.TheMDIMenuStrip;
this.TheMDIMenuStrip.SendToBack();
}
...
}
之前:
之后: