Csharp/C#教程:如何防止其他应用程序窃取焦点?分享


如何防止其他应用程序窃取焦点?

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

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

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

您可能想要调查“Kiosk模式” 。

如果这是一个自助服务终端应用程序,你是计算机上运行的唯一程序,那么很好。 否则这是一个非常糟糕的主意,这就是为什么没有记录的方式来做到这一点。 正如Raymund Chen所说的那样,这个问题应该遵循思想实验“如果有两个程序这样做会怎么样?”:

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

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

否则我将是Henk的第二次推荐。

上述就是C#学习教程:如何防止其他应用程序窃取焦点?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1273237.html

(0)
上一篇 2022年11月28日
下一篇 2022年11月28日

精彩推荐