6
A
回答
7
我也对此感到沮丧。你在VSTO应用程序中使用对话框吗?如果是这样,我所做的是将事件添加到Windows窗体/对话框的关闭以激活Office应用程序如下(例如与Word,所以有可能在Excel中的差异):
//... VSTO Startup Event
WindowsForm form = new WindowsForm();
form.FormClosed += new FormClosedEventHandler(form_FormClosed);
form.Show();
void form_FormClosed(object sender, FormClosedEventArgs e)
{
this.Application.Activate();
this.Application.ActiveWindow.WindowState = Microsoft.Office.Interop.Word.WdWindowState.wdWindowStateNormal;
}
我发现这条线始终位于/返回true:
this.ActiveWindow.Active()
但这个工作得更好(全球bool变量 “AppActive” 跟踪活动窗口):
//... VSTO Startup Event
this.Application.WindowDeactivate += new Microsoft.Office.Interop.Word.ApplicationEvents4_WindowDeactivateEventHandler(Application_WindowDeactivate);
this.Application.WindowActivate += new Microsoft.Office.Interop.Word.ApplicationEvents4_WindowActivateEventHandler(Application_WindowActivate);
void Application_WindowActivate(Microsoft.Office.Interop.Word.Document Doc, Microsoft.Office.Interop.Word.Window Wn)
{
AppActive = true;
}
void Application_WindowDeactivate(Microsoft.Office.Interop.Word.Document Doc, Microsoft.Office.Interop.Word.Window Wn)
{
AppActive = false;
}
2
this.ActiveWindow.Activate()
是激活窗口的方法。
this.ActiveWindow.Active
是告诉你窗口状态的属性。
相关问题
- 1. c#:VSTO - > MS Office应用程序失去焦点?
- 2. 测试VSTO应用程序?
- 3. c#检测应用程序的焦点丢失焦点
- 4. 在一个应用程序应用程序中设置焦点
- 5. Delphi应用程序丢失焦点
- 6. 焦点听众在panio应用程序
- 7. 将焦点设置Excel应用程序
- 8. 专注于Excel VSTO WPF应用程序
- 9. VSTO应用程序代码分析
- 10. Java小应用程序闪烁焦点丢失和焦点已着色
- 11. 黑莓应用程序失去焦点,并导致应用程序冻结
- 12. 当应用程序失去焦点,做到这一点
- 13. 如何应对从另一个应用程序获取焦点?
- 14. 如何跟踪应用程序的z顺序/焦点?
- 15. 如何避免进程从C#应用程序窃取焦点?
- 16. WaitForExit过程结束时,应用程序失去焦点
- 17. 用多个JPanel保持焦点的Java小应用程序
- 18. 当它使用sendBroadcast和ACTION_MEDIA_MOUNTED时,应用程序失去焦点
- 19. 维护用户控件的焦点Windows应用程序
- 20. 使用标签来改变在Android应用程序的焦点
- 21. ios:禁用应用程序焦点时的警报通知(OneSignal)
- 22. Flash应用程序接收没有焦点的鼠标事件
- 23. 检测应用程序是否因UILocalNotification而引起焦点
- 24. Qt应用程序,焦点和显示/隐藏功能
- 25. 自动启动应用程序,无焦点
- 26. Windows应用程序聚焦:为什么需要点击?
- 27. C++防止Windows应用程序窃取焦点
- 28. UWP:检测应用程序获得/失去焦点
- 29. C#:检测哪个应用程序有焦点
- 30. WM_SETFOCUS,获取刚刚失去焦点的应用程序
不错的解决方案迈克,伟大的工作。我觉得虽然ActiveWindow.Active属性应该总是返回true,否则它不是活动窗口呢? – 2012-03-26 03:53:28