最小化时,在父窗体内显示无模式窗体的“标题栏”

本文关键字:窗体 标题栏 模式 最小化 显示 | 更新日期: 2023-09-27 18:35:34

我正在尝试在我的应用程序中实现一些补视图,我希望对它们进行更好的布局控制。我不知道如何用语言解释我想要的功能是什么,所以我在一些 photoshop 的帮助下完成了它,希望你能帮我实现它。

我的应用程序现在如下所示:

(我需要声誉才能发布图像,所以对不起链接)http://i59.tinypic.com/2ikv8m1.jpg

当我最小化上一张图像中聚焦的无模式表单时,我希望能够在我的主表单中看到它(并处理它以最大化或关闭),如下图所示(在 photoshop 中制作)

http://i58.tinypic.com/1e28go.jpg

希望有人能引导我找到解决方案,并感谢您的支持。

编辑:我需要能够将该表单移动到我的主表单之外,甚至移动到不同的显示器。

最小化时,在父窗体内显示无模式窗体的“标题栏”

如果不想使用 MDI 方法,请将无模式窗体的TopLevel设置为 false,并在显示它之前将其添加到主窗体控件集合:

        Form frm = new Form();
        frm.TopLevel = false;
        this.Controls.Add(frm);
        frm.Show();

*显然将表单更改为无模式表单的正确类型。

如果我理解您要做什么,您希望最小化某个表单,但仍在您的应用程序中看到它(我假设像 Excel 或 Word)

您可以执行类似于Idle_Mind所说的操作,但将两者括在表单中而不是父项中。 Form fParent = new Form(); fParent.Dock = DockMode.Fill;//i think this is the syntax. Use this if you want the form to fill to the screen Form fChild = new Form(); fChild.TopLevel = false; fParent.Controls.Add(fChild); fChild.Show();

在这里,它应该最小化到父窗体的左下角。然后,您可以将父项的大小调整为您想要的任何大小。