2013-07-14 62 views

回答

0

当然,使用SetForegroundWindow API可以轻松实现将窗口置于前台。但是这涉及使用System.Runtime.InteropServices命名空间,因此在应用程序中包含非托管代码。一个更简单的方法是我找到一种方法来做到这一点的技巧。

这与将我们的表格的TopMost属性设置为true然后立即将其设置回false一样简单。

将其设置为true将决定操作系统在任何其他窗口之上显示它,而不管它是否被关注。然后,我们通过将属性设置回false来恢复默认行为:如果另一个应用程序获得焦点并因此进入前景,则该窗口将转到背景。

所以,插入下面的代码片段,无论你需要这样的功能:

this.TopMost = true; 
this.TopMost = false; 

一个绝招节省了大量的代码行!

0

只要使用正确的.NET功能:

form.Activate(); 

不要使用任何最顶层的东西,这是没有必要的。

+0

这也会给它重点,所以除非你不介意从另一个窗口失去焦点。这应该工作。 –