在不同的WindowState中具有多个mdichids的MDI窗口

本文关键字:mdichids MDI 窗口 WindowState | 更新日期: 2023-09-27 18:08:07

我有一个小问题与我的MDI父窗口和MDI子窗口。问题是,我需要3个子窗口,但只有第一个它将最大化,所以我使用这个代码:

UserAdmin usrWindow = new UserAdmin();
usrWindow.MdiParent = this;
usrWindow.WindowState = FormWindowState.Normal;
usrWindow.Show();

对于其他2个窗口,我使用以下代码:

TaskAdmin tskWindow = new TaskAdmin ();
tskWindow.MdiParent = this;
tskWindow.Show();

我只需要第一个窗口是最大化的,但是当我打开其他窗口时,它们也是最大化的。

我怎样才能打开一个最大化和其他的默认大小超过第一个?

谢谢

在不同的WindowState中具有多个mdichids的MDI窗口

这是不可能的,但可以通过非常非常棘手(使用WndProc覆盖,自定义事件循环)和丑陋的代码来实现,这些代码将无法以相同的方式在不同的操作系统中工作(即WinXP/WinXPSP1/WinXPSP3/Vista/Win7)

在这种情况下,你的TaskAdmin表单不能有MDIParent。您需要将这些表单浮动在MDIParent上,或者将它们放置在MDIParent的面板中,停靠在一侧。