我有一个.NET 4.5 C#winforms应用程序,当检测到条形码扫描时,它应该到达前台(在所有其他应用程序/窗口之前)。我正在使用此代码来完成它:
if (this.WindowState == FormWindowState.Minimized)
{
this.WindowState = FormWindowState.Normal;
}
this.Activate();
这在Windows 7上运行完美,但在Windows 8上不起作用。如果我的应用程序仅被最小化(并且是最近的应用程序有焦点),它确实有效,使用此行:
this.WindowState = FormWindowState.Normal;
但是,当条形码扫描发生时,如果任何其他窗口/应用程序在我的应用程序前面,this.Activate()
显然无法在Windows 8上运行。
解决方案是什么?
答案 0 :(得分:1)
您需要设置表单的TopMost属性。
this.TopMost = true;