2009-01-14 97 views
0

下面的代碼段示出了插入表對話框:字對話框點擊

Dialog d = WordApp.Dialogs[WdWordDialog.wdDialogTableInsertTable]; 
int result = d.Show(ref missing); 
if (result == -1) // if user pressed OK 
{ 
    d.Execute(); 
} 

的問題是,該對話框不響應到鼠標點擊。但它響應鍵盤輸入。
此外,如果我按Alt + Tab(切換到其他正在運行的應用程序),然後再次按Alt + Tab(切換回我的應用程序),它會響應這兩個鼠標和鍵盤輸入。

我的猜測是,我的應用程序不知道對話框顯示(因爲它不會發生在常規的Form.ShownDialog方式),它保持焦點。

我該如何解決這個問題?

+0

我不能與Word 2007 您正在使用什麼Office版本重現該問題?你是否在所有對話框中獲得了相同的行爲,或者只使用插入表對話框? – 2011-01-28 12:31:09

回答

1

我解決了它。

我也不清楚爲什麼,但是這會有所幫助:顯示對話框以前禁用的主要應用形式,然後後顯示的對話框我使回來。

Dialog d = WordApp.Dialogs[WdWordDialog.wdDialogTableInsertTable]; 

MainApplicationFormInstance.Enabled = false; 
int result = d.Display(ref missing); 
MainApplicationFormInstance.Enabled = true; 

if (result == -1) // user pressed OK 
{ 
    d.Execute(); 
}