本文介绍了应用程序“停用"事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找类似于 'Form.Deactivate' 事件但每个应用程序的东西.如果我在我的 MainForm 上使用 Form.Deactivate 事件,即使我打开一个以我的 MainForm 为父级的模态对话框,这个事件也会被触发.

I'm looking for something similar with 'Form.Deactivate' event but per application. If I use Form.Deactivate event on my MainForm this event is fired even when I open a modal dialog that has as parent my MainForm.

总而言之,当我的应用程序被停用时,我需要触发一个事件.

In conclusion I nedd an event that is fired when my application was deactivated.

推荐答案

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

It is an odd omission but easily fixed. Paste this in your startup form:

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);
}

这篇关于应用程序“停用"事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 07:03