Отобразить немодальную форму к существующему приложению
Я хотел бы иметь возможность показывать немодальную форму в уже существующем приложении. На данный момент я могу сделать что-то вроде:
myform.ShowDialog(handleToApp);
но это создаст модальную форму, привязанную к приложению, и то, что я действительно ищу, не является модальным, поэтому, когда форма теряет фокус, она не нарушит контроль и не будет приставать к пользователю из-за того, что он не закрыт.
Кто-нибудь знает, как или если я могу сделать то, что я ищу?
2 ответа
Решение
Я нашел то, что искал, вы должны сделать класс, который выглядит следующим образом:
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));