C# WinForms : How do you prevent child form from being minimized when parent form is minimized?

标签 c# winforms mdi

我正在创建一个 C# WinForms MDI 应用程序。我有一个主窗体,其中包含 4 个其他窗体。我希望能够将子窗体移出父窗体(它们的 FormBorderStyle 值设置为可调整大小的工具栏,以便单独的窗口不会出现在每个子窗口的任务栏上)。我可以通过对主窗体使用以下代码来完成此操作:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace Prototype
    {
       public partial class MdiParent : Form
       {
           private FastEyeControl m_ControlForm;
           private FastEyeLogWindow m_LogForm;
           private FastEyeConfiguration m_ConfigurationForm;
           private ROCOrderWindow m_OrderLogForm;

           public MdiParent()
           {
               InitializeComponent();

               m_ControlForm       = new FastEyeControl();
               m_LogForm           = new FastEyeLogWindow();
               m_ConfigurationForm = new FastEyeConfiguration();
               m_OrderLogForm      = new ROCOrderWindow();
           }

           private void MdiParent_Load(object sender, EventArgs e)
           {
               m_ControlForm.Show(this);
               m_LogForm.Show(this);
               m_ConfigurationForm.Show(this);
               m_OrderLogForm.Show(this);
           }
        }
    }

但是,当我最小化父表单时,所有子表单也会最小化(正如预期的那样)。无论如何,当父窗口最小化时,是否可以防止父窗口之外的任何子窗体被最小化?基本上,我希望用户能够根据需要调整单个子窗体的大小并将其移动到父窗体之外(例如在 Visual Studio.NET 中取消停靠工具栏并将其放置在另一个监视器中的某个地方)。感谢您的帮助!

最佳答案

我认为您将不得不远离拥有/父级/mdi 窗口,而必须使它们成为所有无主的顶级窗口,彼此“平行”。然后编写您自己的逻辑,将一个窗口停靠在另一个窗口中。

关于C# WinForms : How do you prevent child form from being minimized when parent form is minimized?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5875765/

相关文章:

ios - 在基于 UIDocumentBrowserViewController 的应用程序中打开多个文档

c# - 如何在 .NET MAUI 中运行时添加新的网格列和行?

c# - Entity Framework 代码优先 同一张表上的多对多关系

javascript - CSharp 和 javascript 中的 FromXmlString

c# - .Net 2.0 中的 TextBox AutoCompleteMode 属性

c# - 如何编写外部连接字符串配置文件并让我的 C# 应用程序识别和读取它?

delphi - 将帮助文件链接到 Delphi XE2 应用程序 - 除主窗体外一切正常

c# - 在表单加载时停止 MdiChild 表单在父容器内漫游

c# - Serilog MSSQL Sink 不会将日志写入数据库

c# - 如何修改C# Designer.cs文件中的注释