C#检测应用程序焦点

C#检测应用程序焦点,c#,windows,winforms,focus,active-window,C#,Windows,Winforms,Focus,Active Window,我想创建一个应用程序,当用户单击另一个应用程序时关闭其中一个窗口(或者换句话说,应用程序失去焦点或处于非活动状态)。我的应用程序中的所有窗口都必须具有属性TopMost=true 我怎么能做到 非常感谢你的帮助 编辑(更新): 我需要在我的应用程序中单击另一个窗口时,该窗口未关闭。只有当我的应用程序失去焦点(用户单击另一个应用程序)时,窗口才会关闭。检查停用事件,或覆盖OnDeactivate: protected override void OnDeactivate(EventArgs e)

我想创建一个应用程序,当用户单击另一个应用程序时关闭其中一个窗口(或者换句话说,应用程序失去焦点或处于非活动状态)。我的应用程序中的所有窗口都必须具有属性
TopMost=true

我怎么能做到

非常感谢你的帮助

编辑(更新):


我需要在我的应用程序中单击另一个窗口时,该窗口未关闭。只有当我的应用程序失去焦点(用户单击另一个应用程序)时,窗口才会关闭。

检查停用事件,或覆盖OnDeactivate:

protected override void OnDeactivate(EventArgs e)
{
    Close();
}

它起作用了。但我需要在我的应用程序中单击另一个窗口时,该窗口未关闭。只有当我的应用程序失去焦点(用户单击另一个应用程序)时,窗口才会关闭。你知道怎么做吗?