本章讲述:Activated获得焦点事件 和 Deactivated失去焦点的事件
Deactivated (public event EventHandler Deactivated;)
命名空间:System.Windows
在应用程序停止作为前台应用程序时发生。
Activated: 获得焦点 (首次打开软件时;由别的软件切换回当前软件时;点击当前软件在任务栏的按钮时)
Deactivated:失去焦点,与Activated正好相反,(Deactivated = de + activated)
下面的示例演示如何检测独立应用程序何时停用和激活。
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SDKSample.App"
StartupUri="MainWindow.xaml"
Activated="App_Activated"
Deactivated="App_Deactivated" />
using System;
using System.Windows;
namespace SDKSample
{
public partial class App : Application
{
bool isApplicationActive;
void App_Activated(object sender, EventArgs e)
{
// Application activated
this.isApplicationActive = true;
}
void App_Deactivated(object sender, EventArgs e)
{
// Application deactivated
this.isApplicationActive = false;
}
}
}
在下列情况下,窗口将被停用(成为背景窗口):
用户切换到当前应用程序中的另一个窗口。
用户使用ALT+TAB或任务管理器切换到另一个应用程序中的窗口。
用户单击其他应用程序中窗口的任务栏按钮。
需要通过处理停用事件来检测何时停用的窗口。
在窗口第一次被停用后,它可能在其生命周期中多次被重新激活和停用。如果应用程序的行为或状态取决于其激活状态,它可以检查IsActive以确定它处于哪个激活状态。
也可以停用应用程序。