Har*_*y13 7 c# modal-dialog winforms
是否可以在另一个进程的主窗口上显示WinForms模式表单?
例如,我的WinForms应用程序包含一个表单,该表单是模态的,而另一个进程的主窗口是PID x.
Ada*_*ean 14
您可以将其显示为对话框,如下所示:
Form1 frm = new Form1();
frm.ShowDialog(this);
frm.Dispose();
Run Code Online (Sandbox Code Playgroud)
您传递当前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);
}
Run Code Online (Sandbox Code Playgroud)
这是如何工作的,如果有可能的话,它似乎对我不起作用.
此链接可能会提供有关该主题的更多信息:如何使子进程窗口在我的进程中显示为模态?
归档时间: |
|
查看次数: |
21954 次 |
最近记录: |