我正在寻找与'Form.Deactivate'事件类似的东西但是每个应用程序.如果我在我的MainForm上使用Form.Deactivate事件,即使我打开一个具有父MainForm父模式的模式对话框,也会触发此事件.
总而言之,我发现了一个在我的应用程序被停用时触发的事件.
这是一个奇怪的遗漏,但很容易修复.将其粘贴到启动表单中:
protected void OnActivateApp(bool activate) {
Console.WriteLine("Activate {0}", activate);
}
protected override void WndProc(ref Message m) {
// Trap WM_ACTIVATEAPP
if (m.Msg == 0x1c) OnActivateApp(m.WParam != IntPtr.Zero);
base.WndProc(ref m);
}
Run Code Online (Sandbox Code Playgroud)