使用Excel作为所有者的Form.ShowDialog很慢

时间:2013-04-22 14:27:26

标签: c# winforms interop

我正在使用Excel加载项,我有一个表单(WinForms),我想要模态,并显示中心父级。我将Excel的句柄分配给NativeWindow,然后在调用owner时将其用作ShowDialog参数。看起来像这样:

NativeWindow excel = new NativeWindow();
excel.AssignHandle(new IntPtr(application.Hwnd)); // interop Excel app
MyWindow window = new Window();
window.ShowDialog(excel);

此处对ShowDialog的调用大约需要5秒钟。如果我只是正常地呼叫ShowDialog,所有其他代码完好无损,它会立即出现 - 所以我有理由相信这是罪魁祸首。

我在这里做些蠢事吗?我是否可以提前启动事件或延迟加载(或使用Excel本身)?

0 个答案:

没有答案