我希望能够在已经存在的应用程序中显示非模态表单。目前我可以做类似的事情:
myform.ShowDialog(handleToApp);
但这将创建一个以应用程序为父的模态表单以及我真正在寻找的不是模态的东西,因此当表单失去焦点时,它不会破坏控制流程并纠缠用户不被关闭。
有谁知道我如何或是否可以做我正在寻找的东西?
我希望能够在已经存在的应用程序中显示非模态表单。目前我可以做类似的事情:
myform.ShowDialog(handleToApp);
但这将创建一个以应用程序为父的模态表单以及我真正在寻找的不是模态的东西,因此当表单失去焦点时,它不会破坏控制流程并纠缠用户不被关闭。
有谁知道我如何或是否可以做我正在寻找的东西?
我找到了我要找的东西,你必须创建一个如下所示的类:
public class MapinfoWindowHandle : System.Windows.Forms.IWin32Window
{
private IntPtr handle;
public MapinfoWindowHandle(IntPtr hWnd)
{
handle = hWnd;
}
#region IWin32Window Members
IntPtr System.Windows.Forms.IWin32Window.Handle
{
get { return handle; }
}
#endregion
}
然后你可以这样做:
IntPtr windowhandle = new IntPtr(hWnd);
MyForm.Show(new MapinfoWindowHandle(windowhandle));
简单的怎么样myForm.Show()
?