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. 測試VSTO應用程序?
- 2. c#檢測應用程序的焦點丟失焦點
- 3. Delphi應用程序丟失焦點
- 4. 將焦點設置Excel應用程序
- 5. VSTO應用程序代碼分析
- 6. 如何跟蹤應用程序的z順序/焦點?
- 7. 如何避免進程從C#應用程序竊取焦點?
- 8. 用多個JPanel保持焦點的Java小應用程序
- 9. 維護用戶控件的焦點Windows應用程序
- 10. 應用程序失去焦點隱藏窗口
- 11. 在javascript,ASP.net應用程序中不工作焦點在textarea上
- 12. 更改應用程序焦點上的鍵盤佈局
- 13. 當子菜單關閉時,WPF應用程序失去焦點
- 14. 開發一個不會失去焦點的應用程序?
- 15. 無法在WPF MVVM應用程序中動態設置焦點
- 16. 如何設置焦點已運行的應用程序?
- 17. 如何在.NET中控制windows應用程序焦點
- 18. 獲取焦點應用程序的名稱(在Mac上)
- 19. 應用程序啓動和焦點恢復
- 20. .NET應用程序失敗並獲得焦點的事件
- 21. WM_SETFOCUS,獲取剛剛失去焦點的應用程序
- 22. 另一個應用程序的焦點hWnd
- 23. 如何檢查我的應用程序是否有焦點?
- 24. 基於焦點搜索的OSX應用程序
- 25. 在IE中防止焦點的小應用程序
- 26. 在Silverlight應用程序中檢測鍵盤焦點丟失
- 27. WPF應用程序中的模態對話框焦點問題
- 28. WPF應用程序獲取焦點事件
- 29. 僞造窗口焦點(沙盒?,應用程序V?)
- 30. 防止另一個應用程序在VB.net中失去焦點
不錯的解決方案邁克,偉大的工作。我覺得雖然ActiveWindow.Active屬性應該總是返回true,否則它不是活動窗口呢? – 2012-03-26 03:53:28