WinForms アプリケーションの親フォームの上部にサード パーティのタブ ストリップ (DotNetBar) があるアプリケーションがあります。発生している問題は、タブをクリックしてフォームを切り替えてからマウスを画面上で動かすと、WinForms アプリケーションの背後にあるアプリケーションが出血し始めることです。これは望ましくありません。
現在、タブ ストリップの 4 バージョン以上でこの動作を確認しており、更新によって問題が修正されることを期待していますが、タブ ストリップに問題があるとは思いません。
私の仮説ですが、独立してお答えください。タブのクリックでは、クリック時に集中的なコード処理 (データベース呼び出し、画面読み込み、ロジックなど) が発生します。この処理はすべて UI スレッドで実行する必要があるため、WinForms アプリケーションがメイン アプリケーションのウィンドウを最新の状態に保つことができず (おそらく?)、バックグラウンドがにじみ出ていることが原因ではないかと考えています。集中的な作業をバックグラウンド スレッドにオフロードし、UI を更新して個別に続行できるようにすると役立つのではないかと思います。
何年にもわたってパフォーマンスの低い Windows マシンで同様の動作を見てきたと思います。そのため、この問題は一般的なものであり、必ずしも制御できるものではないと考えています (ただし、これについては間違っている可能性があります)。
ここでの主な一般的な質問は、アプリケーションが Windows フォーム アプリケーションのメイン フォアグラウンドを通過する原因は何ですか?