質問: ピクチャボックスのペイントイベントが2回実行される WinFormsフォームに画像ボックスを追加し、ペイントイベントを追加しました。デバッグすると、ペイントイベントが2回呼び出されることがわかります。 どうすれば修正できますか?
回答: ピクチャボックスコントロールは、Windowsのペイントサイクルと `WM_PAINT` イベントの比較的緩やかなラッパーです。 `WM_PAINT` イベントは、ウィンドウの描画面が無効であるとみなされるたびにシステムがアプリケーションメッセージキューに配置するキューに入れられたメッセージです。これは多くの理由で発生します。 * 別のウィンドウがウィンドウの上にドラッグされます(現代のウィンドウではこれを緩和するためにバッファリングが使用されます)。 * 最終的にWin32の `InvalidateRect` 関数を呼び出す`無効化`を呼び出すことによってウィンドウを無効にします。 * システム全体のテーマ設定が変更されました。 * その他 だから、これの自然な結論は、あなたの画像ボックスペイントハンドラは、複数回呼び出されるという前提の下で書かれる必要があるということです。