是否可以在另一個進程的主窗口上顯示WinForms模式表單?WinForms:在其他應用程序的主窗口上顯示錶單模式
例如,我的WinForms應用程序由一個窗體組成,這個窗體在PID x的另一個進程的主窗口上模態化。
是否可以在另一個進程的主窗口上顯示WinForms模式表單?WinForms:在其他應用程序的主窗口上顯示錶單模式
例如,我的WinForms應用程序由一個窗體組成,這個窗體在PID x的另一個進程的主窗口上模態化。
您可以顯示它作爲一個對話框,如下所示:
Form1 frm = new Form1();
frm.ShowDialog(this);
frm.Dispose();
您傳遞當前IWin32Window
或form
你想成爲所有者,所以如果你從說在點擊一個按鈕調用它父母形式,只是通過this
。
您希望能夠獲得另一個進程的IWin32Window
,這是可能的,但我不知道是否將表單顯示爲模態。
var proc = Process.GetProcesses().Where(x => x.ProcessName == "notepad").First();
IWin32Window w = Control.FromHandle(proc.MainWindowHandle);
using (Form1 frm = new Form1())
{
frm.ShowDialog(w);
}
這是如何工作,如果有可能,但是,它似乎並沒有爲我工作。
此鏈接可以揭示主題更多的信息:How can I make a child process window to appear modal in my process?
另一個過程? – 2013-02-20 10:08:58
'form.ShowDialog()'在另一個進程中打開它? – 2013-02-20 10:10:38
例如在系統上運行的第二個應用程序。在同一個應用程序中不是模式形式 – Harry13 2013-02-20 10:10:58
嘗試「最頂層=真正的」財產? – Ritro 2013-02-20 10:42:36
不完全是我想要的,但會在某些情況下工作... – Harry13 2013-02-21 06:18:34