私のmdi VB.Netアプリケーションは、一部のデータに対して長い操作を実行します。理想的には、私は恐ろしい "応答していません"というメッセージを防ぐために別のスレッドを使うべきです。.Net Not Responding、Application.DoEvents and threading
別のスレッドを使用すると、アプリケーション内の他のコントロールをクリックしてバックグラウンドスレッドの操作に直接影響を与え、エラーが発生することがあります。
バックグラウンドスレッドの操作中にすべてのmdiウィンドウ、ツールバー、および他のコントロールがマウスクリックやキーボード入力を受け取らないようにする方法はありますか?
また、Application.DoEventsを実行する前にメッセージキューをクリアする方法はありますか?
おかげ
はいいくつかのmdiウィンドウの問題は、多くのコントロール、ツールバー、ectなどがあります。電源を切るために。それはできますが、もっと広い解決策を望んでいました。 – user32183
親コントロールでEnabledをFalseに設定すると、子が無効になります。したがって、メインウィンドウと各MDIウィンドウでEnabledをfalseに設定すると、このトリックが実行されます。 –
私はそれを忘れてしまった。それが助けになるだろう。ありがとう – user32183