1

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

这是我观察到的,我不知道这是怎么发生的或者如何解决它。

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

替代文字

任何想法为什么会这样?

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

谢谢, SH

4

2 回答 2

0

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

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

是的,我将子窗口的 F​​ormBorderStyle 设置为 None,但就像我说的,我不想要 MDI 应用程序。

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

于 2011-01-27T14:27:55.613 回答
0

我发现:

在您的子窗体上设置 WindowState 属性之前调用 MDI 窗体上的 Show() 以摆脱多个控制框。

不要在设计器中将 WindowState 设置为 Maximized - 在显示父对象后在代码中执行此操作。

于 2011-02-08T15:58:46.173 回答