2 xcs2008 xcs2008 于 2015.07.14 19:40 提问

MDI子窗体最大化显示问题

图片说明
在MDI子窗体
1、放了一个菜单 Me.MenuStrip1 .Dock =DockStyle.Top;
设置“窗口”菜单存放子窗体标题
Me.MenuStrip1.MdiWindowListItem = 窗口ToolStripMenuItem;

2、放了一个Panel1控件 Me.Panel1 .Dock =DockStyle.Fill;

3、在Panel控件上放了一个按钮,用于打开一个子窗体,click事件代码为:
Dim frm As Form2 = New Form2()
frm.MdiParent = Me
frm.Parent = Me.Panel1
frm.Show()
运行结果为,子窗体显示在了Panel控件之上,但子窗体最大化后,如上截图,子窗体的标题栏不能与主窗体标题合并显示,且窗口菜单中也不显示子窗体的标题?请达人解惑?

7个回答

xcs2008
xcs2008   2015.07.14 19:45

理想的显示效果为,Panel隐藏后的显示效果;
即 Me.Panel1.Visible = False 如下图显示:
图片说明
如果不隐藏Panel1控件,应如何设置?

xcs2008
xcs2008   2015.07.14 19:47

即不隐藏Panel1控件,子窗体最大化后显示效果;
图片说明

caozhy
caozhy   Ds   Rxr 2015.07.15 05:52

frm.Parent = Me.Panel1
->
frm.Parent = Me

xcs2008
xcs2008   2015.07.15 08:18

Dim frm As Form2 = New Form2()
frm.MdiParent = Me
frm.Parent = Me.Panel1
frm.Parent = Me
frm.Show()

这样子窗体也看不到了;

CSDNXIAOC
CSDNXIAOC   2015.07.16 15:29

子窗体一旦最大化后,子窗体的图标就越过菜单栏跑到最上面去了,他的位置高过了菜单栏,弄的界面很难看的解决办法!!!!! 在主窗口属性中把 MainMenuStrip设置成你的主菜单,也可在代码中加入:this.MainMenuStrip = this.menuMain;......
答案就在这里:MDI 子窗体最大化时显示
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

xcs2008
xcs2008   2015.07.16 18:15
    Dim frm As Form2 = New Form2()
    frm.MdiParent = Me
    frm.Parent = Me.Panel1
    frm.Parent = Me
    Me.MainMenuStrip = Me.MenuStrip1
    frm.Show()

            加上这句还是不行,看不到子窗体;
               Me.MainMenuStrip = Me.MenuStrip1应加在什么地方可以;
xcs2008
xcs2008   2015.07.25 13:30

MDI主窗体中,添加了Panel控件,在Panel控件中加载的窗体,窗体上的控件失去焦点,见网上有许多类似的疑问,但都没有答案;

Csdn user default icon
上传中...
上传图片
插入图片