以下代码显示了插入表对话框:
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(切换回我的应用程序),它会响应 鼠标和键盘输入。< / p>
我的猜测是我的应用程序“不知道”显示了一个对话框(因为它不会以常规的 Form.ShownDialog 方式发生)而且它会保持焦点。< / p>
我该如何解决这个问题?
答案 0 :(得分: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();
}