0

私はすぐに質問に飛び込みます。基本的に、複数のメッセージ ポンプを必要とするプログラムをセットアップしました。ただし、フォームにフォーカスがあり、別のメッセージ ポンプにあるフォームが BringToFront を呼び出すと、別のメッセージ ポンプにあるため機能しません。これを修正する方法はありますか?

くそー、私はそれを追加するのを忘れたなんて信じられない... ごめんなさい!言語: VB.NET コードのサンプル:

Public Class Form1
    Private Shared Test As New Form2

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Test.Invoke(Sub() Test.BringToFront())
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim T As New Threading.Thread(Sub()

                                          Application.Run(Test)
                                      End Sub)
        T.Start()
    End Sub
End Class

フォームは別のスレッドで作成されたので、Invoke() を使用します。

最初に Button2 を押してから、もう一度 Form1 をクリックし、Button1 を使用して Form2 を前面に表示しようとします。

4

1 に答える 1