如何知道是否未选择表单
本文关键字:选择 表单 是否 何知道 | 更新日期: 2023-09-27 17:59:01
要区分这么简单的东西,我有很多问题。
我需要知道当前是否有一个表单在所有内容前面,即接收关键条目的表单。
我不知道是不是。
我可以检查是否未最小化。但它可能只是在其他窗口后面,或者只是没有被选中(例如,它是打开的,桌面在后面,你点击桌面,然后你仍然可以看到应用程序,但它没有收到关键输入)。
属性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
}
请参阅:在if语句中使用GetForegroundWindow结果来检查用户';s当前窗口