一尘不染

将Windows Forms应用程序置于前台的“正确”方法是什么?

c#

我正在用C#编写Windows窗体应用程序。我需要能够将其带到前台。经过谷歌搜索和试验后,我得到了一个可行的解决方案,看起来有些怪异。

如果有的话,我想知道一种优雅的方法。我需要还原该应用程序并使其处于前台,无论它是否已最小化,还是未最小化,但都处于后台。

当前代码如下:

WindowState = FormWindowState.Minimized;
WindowState = FormWindowState.Normal;
BringToFront();
Focus();

阅读 348

收藏
2020-05-19

共1个答案

一尘不染

您是否尝试过Form.Activate

这段代码似乎可以满足您的要求,方法是将表单最小化后将其还原为正常大小,然后激活它以设置焦点:

if (this.WindowState == FormWindowState.Minimized)
{
    this.WindowState = FormWindowState.Normal;
}

this.Activate();

警告:这很烦人!如您所说,如果它只是供您个人使用的应用程序,也许您可​​以使用它。:)

2020-05-19