如何通过代码在一个实例中创建另一个.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();