SOや他の場所で同様の質問をいくつか見ましたが、どれもうまくいかないようです。
プロジェクトにLoadingAnimationWindow
を含む小さなものがあり、アプリケーションの起動時に表示され、実際の処理を実行し続けたいと考えています。これが私のスタートアップコードです:
Dim WaitWindow As New WaitWindow("Loading application...")
WaitWindow.Show()
LongRunningLoading()
WaitWindow.Close()
LongRunningLoading()
アニメーションのブロックを回避するために、別のスレッドで実行しようとする関数は次のとおりです。
Private Function LongRunningLoading() As Boolean
Dim resetEvent As New System.Threading.ManualResetEvent(False)
Dim RetVal As Boolean = False
ThreadPool.QueueUserWorkItem(Sub(state)
'DO SOMETHING AND RETURN RESULTS
resetEvent.Set()
End Sub,
RetVal)
resetEvent.WaitOne()
Return RetVal
End Function
読み込み中のアニメーションが再生されないことを除いて、すべてが期待どおりに機能します。私は何が間違っているのですか?