[英]How to know if a form is not selected?
区分这种简单的事情有很多问题。
我需要知道当前是否存在一种形式,即接收关键条目的形式。
我没有办法知道。
我可以检查是否没有最小化。 但是然后它可能就在其他窗口的后面,或者只是未被选中(例如,它是openend的,桌面在后面,您单击桌面,然后您仍然看到该应用程序,但是它没有收到关键输入)。
物业focus
对此毫无意义。
这是代码
protected override void OnActivated(EventArgs e)
{
base.OnActivated(e);
if (this.Focused)
{
gotFocus = true;
// never reaches tis
}
检查窗口是否为当前活动窗口。
码:
using System.Runtime.InteropServices; // To use DllImport
...
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
if ((IntPtr)GetForegroundWindow() == this.Handle)
{
// Do stuff
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.