Bất cứ ai biết cách để xem cửa sổ Excel của dự án VSTO có đang hoạt động/đang tập trung không?VSTO: Tập trung ứng dụng
Tôi đang tìm kiếm số tương đương System.Windows.Window.IsActive
.
Bất cứ ai biết cách để xem cửa sổ Excel của dự án VSTO có đang hoạt động/đang tập trung không?VSTO: Tập trung ứng dụng
Tôi đang tìm kiếm số tương đương System.Windows.Window.IsActive
.
Tôi cũng đã thất vọng với điều này. Bạn đang sử dụng một hộp thoại trong ứng dụng VSTO? Nếu vậy, những gì tôi đã làm là thêm một sự kiện vào việc đóng cửa một Windows Form/Dialog để kích hoạt các ứng dụng Office như sau (ví dụ là với Word, do đó có thể có sự khác biệt trong 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;
}
tôi đã tìm thấy dòng này luôn nằm/trả về true:
this.ActiveWindow.Active()
Nhưng làm việc này tốt hơn (biến bool toàn cầu "AppActive" để theo dõi các cửa sổ đang hoạt động):
//... 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;
}
this.ActiveWindow.Activate()
là phương pháp kích hoạt cửa sổ.
this.ActiveWindow.Active
là thuộc tính cho bạn biết trạng thái của cửa sổ.
giải pháp tốt đẹp Mike, công việc tuyệt vời. Tôi cảm thấy rằng mặc dù tài sản ActiveWindow.Active NÊN luôn luôn trở lại đúng sự thật, khác không phải là cửa sổ hoạt động của nó là nó? –