重复的ControlBox

时间:2011-01-10 22:42:07

标签: mdi mdichild mdiparent controlbox

我继承了一个作为MDI程序启动的应用程序,但是从未实现过必要的后台工作来完全支持MDI。我正在尝试构建足够的MDI支持,以使应用程序看起来很好并且可以作为SDI应用程序正常工作。

这是我正在观察的内容,我不知道这是怎么回事或如何修复它。

  1. MDIchild表单的边框显示在MDIparent表单的菜单条上方。
  2. MDIchild表单左上角有两个图标。
  3. MDIchild表单右上角有两个ControlBox。
  4. alt text

    为什么会出现这种想法?

    如果完全删除了MDIChild窗口边框(包括图标和控件框),我会非常高兴。

    谢谢, SH

2 个答案:

答案 0 :(得分:0)

我创建了子表单但是在正常状态下显示它而不是最大化。就好像在最大化子表单的同一过程中显示父表单导致表单无序构造。我的代码看起来像这样...

frmChild.WindowState = FormWindowState.Normal
frmParent.Show()  'frmChild.Show called within form_load of parent
frmChild.WindowState = FormWindowState.Maximized

是的,我将Child窗口的FormBorderStyle设置为None,但就像我说的那样,我不想要MDI应用程序。

我认为这必定是Visual Studio中的一个错误。对于这么多人有困难,这是不对的。

答案 1 :(得分:0)

我找到了:

在您的子窗体上设置WindowState属性之前,在您的MDI窗体上调用Show()以删除多个控件框。

不要在设计器中将WindowState设置为Maximized - 在显示父级之后在代码中执行。