2009-06-11 37 views
0

我有一个EXE(app.exe)在C#DLL(lib.dll)中调用COM公开方法。 Lib.dll显示一个对话框。在WinForms和C#中设置对话框的所有者?

如何让对话框(不是Windows消息框)将app.exe识别为所有者,以便app.exe最小化时,lib.dll对话框也是如此?

该对话框不能为模态。

这是Winforms可以解决的问题吗?我更喜欢Winforms解决方案,但如果需要的话,将会满足于XAML解决方案。

回答

2

我假设你的C#Dll只是创建一个窗体的实例并调用.Show()方法。如果是这样的话,那么在你的COM暴露方法中应该使用一个hWnd参数并将表单所有者设置为该hWnd。

+1

......当然!对于那个很抱歉。 ;) – Jason 2009-06-11 20:32:49