我正在使用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本身)?