在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()
來啟動窗體的消息循環。