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方式发生)并且它保持焦点。

我怎么解决这个问题?

4

1 回答 1

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();
}
于 2009-01-14T14:34:15.047 回答