MFCアプリケーション用の.netプラグインを作成しています。WinFormsと.net4を使用してフォームを作成しました。ユーザーがMFCアプリケーションのボタンをクリックすると、フォームが表示されます。私のコントロールの1つは、Application.Idleを使用していくつかのタスクを実行します。
問題は、Application.Idleが起動されないように見えることです。
- このシナリオで「アプリケーション」とは正確には何を指しますか?それはMFCアプリケーション全体ですか、それとも.net形式ですか?
- Application.Idleが起動しないのはなぜですか?
更新
私はそれをうまく動かすことができました、ここに2つの可能な解決策があります:
- Form.ShowDialog()を使用してフォームを表示します(したがって、フォームは独自の.netメッセージポンプを実行します)
- STAスレッドを作成し、STAスレッドでフォームを作成して、Application.Run()を呼び出します。次に、Form.Show()を使用できます(フォームは、作成されたスレッドで.netメッセージポンプを使用します。この場合は、.net STAスレッドです)。