如何通过代码在一个实例中创建另一个.NET程序实例?
我需要能够在按钮单击的同时创建另一个全新的程序实例,同时保留现有实例。
this.ShowDialog(new Form1());
上面的语句使当前表单成为新表单的所有者,我需要第二个实例独立于现有实例。
谁能帮我这个?
在这里阐述Desolator的答案是一个简单的例子,你可以尝试一个Form和一个Button:
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Process p = new Process(); p.StartInfo.FileName = Application.ExecutablePath; p.Start(); } }
您可以使用new Form1().Show();
,但是当你的当前实例存在时,另一个实例也会退出。 因此,要完全独立,最好使用System.Diagnostics.Process.Start(string path)
来启动程序,就像双击它一样。
(new Form1()).Show(); (new Form1()).Show();