我希望能够在现有应用程序中显示非模态形式。目前我可以做类似的事情:
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));
关于c# - 将非模态形式重新赋予现有应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/333171/