4

我需要能够在单击按钮时创建另一个全新的程序实例,同时保留现有实例。

this.ShowDialog(new Form1());

上面的语句导致当前表单成为新表单的所有者,我需要第二个实例独立于现有实例。

谁能帮我这个?

4

3 回答 3

5

在这里阐述 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();
    }
}
于 2012-07-04T16:53:05.637 回答
5

您可以使用 instead new Form1().Show();,但是当您当前的实例存在时,另一个也将退出。因此,要完全独立,最好使用System.Diagnostics.Process.Start(string path)哪个启动您的程序,就像双击它一样。

于 2012-07-04T16:31:56.630 回答
0
(new Form1()).Show();

(new Form1()).Show();
于 2012-07-04T16:33:51.363 回答