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()を使用してフォームのメッセージループを開始することを確認してください。

bannerAds