4

我有一个全屏窗口,其中 Topmost 属性设置为 true。每当应用程序更改其 WindowState 属性时,我的窗口会自动最小化,即使它具有活动焦点。例如,下面的代码举例说明了这个问题。窗口停用 3 秒后,它从最小化变为正常,最小化其他全屏应用程序。

// Topmost = false
private void Form1_Deactivate(object sender, EventArgs e)
{
    System.Threading.Thread.Sleep(3000);
    this.WindowState = FormWindowState.Normal;
}

在这种情况下,有没有办法保留全屏窗口的 WindowState 属性?我希望用户选择最小化全屏应用程序,所以我想阻止其他程序窃取焦点。

4

3 回答 3

2

您可能需要调查 “信息亭模式”

于 2010-01-18T14:13:53.300 回答
0

也许这就是您想要的:全屏“Kiosk 模式”中的 Windows 窗体

否则我会同意 Henk 的建议。

于 2010-01-18T15:23:44.697 回答
0

如果这是一个信息亭应用程序,并且您是计算机上唯一运行的程序,那么很好。否则这是一个非常糟糕的主意,这就是为什么没有记录在案的方法。正如 Raymund Chen 所说,这种问题应该伴随着思想实验“如果两个程序这样做会怎样?”:

http://blogs.msdn.com/oldnewthing/archive/2005/06/07/426294.aspx

于 2010-01-18T15:35:58.363 回答