12

我有一个表单,无论何时在应用程序中打开它,我都希望它始终位于顶部,但我不希望它在主表单最小化或导航另一个应用程序时位于顶部。我希望它仅在我的应用程序中位于顶部。

按照问题中的答案:如何使窗口始终在.Net中保持领先?

    this.TopMost = true;

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

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

4

2 回答 2

16

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

通过使用 Show(owner) 重载显示它来创建一个拥有的窗口。或者通过显式分配其 Owner 属性。

于 2013-08-26T22:38:49.170 回答
5

设置顶层,然后设置所有者,示例如下。

public Form1()
{
    InitializeComponent();
    Form2 f2 = new Form2();
    //top level not really needed
    f2.TopLevel = true;
    f2.Show(this);
}
于 2013-08-26T22:42:28.763 回答