在WinForm中打開(kāi)多個(gè)窗體可以使用多線程的方式實(shí)現(xiàn)。可以通過(guò)創(chuàng)建新的線程來(lái)打開(kāi)新的窗體。
首先,創(chuàng)建一個(gè)新的線程,并在該線程中打開(kāi)新的窗體。例如:
private void OpenNewForm()
{
Thread thread = new Thread(() =>
{
Application.Run(new Form2()); // Form2是要打開(kāi)的新窗體
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
然后,在需要打開(kāi)新窗體的地方調(diào)用OpenNewForm()方法即可。
private void button1_Click(object sender, EventArgs e)
{
OpenNewForm(); // 點(diǎn)擊按鈕時(shí)打開(kāi)新的窗體
}
這樣就可以在多個(gè)線程中打開(kāi)多個(gè)窗體了。每個(gè)窗體運(yùn)行在自己的線程中,互不干擾。請(qǐng)注意,每個(gè)線程需要有自己的消息循環(huán),因此要確保在新線程中使用Application.Run()
來(lái)啟動(dòng)窗體的消息循環(huán)。