如何在应用程序中始终将表单放在首位

时间:2013-08-26 22:05:58

标签: c# winforms

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

在问题中回答:How to make a window always stay on top in .Net?

    this.TopMost = true;

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

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

2 个答案:

答案 0 :(得分:15)

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

通过显示Show(所有者)重载来创建一个拥有的窗口。或者通过明确指定其所有者属性。

答案 1 :(得分:5)

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

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