在WinForm中打开多个窗体可以使用多线程的方式实现。可以通过创建新的线程来打开新的窗体。
首先,创建一个新的线程,并在该线程中打开新的窗体。例如:
private void OpenNewForm() { Thread thread = new Thread(() => { Application.Run(new Form2()); // Form2是要打开的新窗体 }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); }
然后,在需要打开新窗体的地方调用OpenNewForm()方法即可。
private void button1_Click(object sender, EventArgs e)
{
OpenNewForm(); // 点击按钮时打开新的窗体
}
这样就可以在多个线程中打开多个窗体了。每个窗体运行在自己的线程中,互不干扰。请注意,每个线程需要有自己的消息循环,因此要确保在新线程中使用Application.Run()
来启动窗体的消息循环。