如何使表单始终在应用程序中处于领先地位

11 c# winforms

我有一个表单,我想在应用程序中打开它时总是在顶部,但我不希望它在主窗体最小化或其他应用程序导航时位于顶部.我希望它只在我的应用程序中处于领先地位.

在问题的答案之后:如何使窗口始终保持在.Net的顶部?

    this.TopMost = true;
Run Code Online (Sandbox Code Playgroud)

使表单位于顶部,但在导航到另一个应用程序或关闭主表单时,表单仍然位于顶部.

请问如何使表单仅在应用程序的顶部,同时使用户仍然可以在主窗体上工作?

Han*_*ant 15

您正在寻找一个拥有的窗口.它始终位于所有者之上,并且与所有者一起最小化.拥有Windows的好例子是Visual Studio中的各种帮助窗口.您可以取消停靠它们,但它们将始终位于VS主窗口的顶部.

您可以通过显示Show(owner)重载来创建一个拥有的窗口.或者通过显式分配其所有者属性.


Sor*_*eri 5

设置顶级,然后设置所有者,例如下面.

public Form1()
{
    InitializeComponent();
    Form2 f2 = new Form2();
    //top level not really needed
    f2.TopLevel = true;
    f2.Show(this);
}
Run Code Online (Sandbox Code Playgroud)