我正在开发一个 Excel 加载项,并且我有一个表单(WinForms),我想成为模态并显示中心父级。我将 Excel 的句柄分配给 a 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 本身)?