由网友(仙女养的猪)分享简介:我如何找到活动的子窗口(如在模态对话框焦点编辑)。我知道如何枚举子窗口,但我不知道如何来检测,如果一个子窗口被激活(焦点)。How can I find the active child window (like focus Edit in modal dialog). I know how to enumerate...
我如何找到活动的子窗口(如在模态对话框焦点编辑)。我知道如何枚举子窗口,但我不知道如何来检测,如果一个子窗口被激活(焦点)。
How can I find the active child window (like focus Edit in modal dialog). I know how to enumerate child windows, but I don't know how to detect if a child window is active (focus).
推荐答案
基本上它只是一个简单的LINQ查询:
Basically it's just a simple Linq query:
var active = (from form in Application.OpenForms.OfType<Form>()
where form.Focused
select form).FirstOrDefault();
使用活动可以为空或形式。只是一个简单的例子很少形式:
Where active can be null or a form. Just a short example with few forms:
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
Form sample = new Form();
sample.Text = i.ToString();
sample.Show();
}
while (true)
{
var active = (from form in Application.OpenForms.OfType<Form>()
where form.Focused
select form).FirstOrDefault();
if (active != null)
Console.Write(active.Text);
Application.DoEvents();
Thread.Sleep(100);
}
}
}
相关推荐
最新文章