应用程序"停用"事件

Cor*_*nel 0 winforms

我正在寻找与'Form.Deactivate'事件类似的东西但是每个应用程序.如果我在我的MainForm上使用Form.Deactivate事件,即使我打开一个具有父MainForm父模式的模式对话框,也会触发此事件.

总而言之,我发现了一个在我的应用程序被停用时触发的事件.

Han*_*ant 6

这是一个奇怪的遗漏,但很容易修复.将其粘贴到启动表单中:

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)