在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()
来启动窗体的消息循环。