Winformで複数のフォームを開くには、マルチスレッドを使用する方法を教えてください。
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()を使用してフォームのメッセージループを開始することを確認してください。