我需要能够在单击按钮时创建另一个全新的程序实例,同时保留现有实例。
this.ShowDialog(new Form1());
上面的语句导致当前表单成为新表单的所有者,我需要第二个实例独立于现有实例。
谁能帮我这个?
在这里阐述 Desolator 的答案是一个简单的例子,你可以尝试一个表单和一个按钮:
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();
}
}
您可以使用 instead new Form1().Show();
,但是当您当前的实例存在时,另一个也将退出。因此,要完全独立,最好使用System.Diagnostics.Process.Start(string path)
哪个启动您的程序,就像双击它一样。
(new Form1()).Show();
(new Form1()).Show();