应用程序“停用”事件

时间:2009-11-17 09:21:46

标签: winforms

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

总之,当我的应用程序被停用时,我发现了一个事件。

1 个答案:

答案 0 :(得分: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);
}