我有一个有两个表单的项目,我需要在一个新进程中启动 form2,我该怎么做?我知道有
Form2 f2 = new Form2();
f2.Show();
this.Hide();
但在这种情况下,这对我不利。我需要开始一个新进程(作为另一个 .exe 文件)。
那么无论如何我该怎么做呢?
[更新]
我忘了告诉你我需要向 form2 传递一些信息,比如
Form2 f2 = new Form2(someInformation);
f2.Show();
this.Hide();
您可以在一个单独的项目中创建您的 Form2 并通过以下方式调用构建的 exe 文件
System.Diagnostics.Process.Start("Form2.exe");
如果您的意思是一个新线程,请执行以下操作:
var secondFormThread = new Thread(() => Application.Run(new Form(someInformation)));
this.Hide(); // Hide the current form
secondFormThread .Start(); // now show the other one in a new thread
secondFormThread .WaitForExit(); // wait for this thread to finish or
// maybenot, may add a timeout. Whatever
// suits your needs.
this.Show(); // Show the first form again
创建表单的实例并将其显示在单独的线程中。
new Thread(() => {
Form2 f2 = new Form2(someInformation);
f2.ShowDialog();
}).Start();