フォームに単純なパネルがあり、 AutoScrollMinSize と AutoScroll を使用してパネルにスクロールバーを表示していますが、すべて正常に動作します。
また、パネル領域全体を無効にするために使用する Scroll イベントもあります。事実上、左/右、上/下にスクロールするときに必要なビットのみを無効にするようです。これに加えて、パネルと同じサイズの BufferedGraphics を使用し、.Render(e.Graphics) を実行します。これは、スクロール バーが存在しないかのようにパネル全体に描画する必要があるためです。 .
さて、私が抱えている問題は、スクロールとコンテンツがペイントされているときに視覚的な遅れがあるように見えることです.これは、スクロールイベントの前に私がよく知らない余分な描画/セットアップステージがあるためだと思います.呼び出されるか、それと呼び出される Paint イベントの間。
ペイント メソッド内に無効化パネルがある場合、問題は表示されませんが、これはペイント イベントが何度も呼び出されて問題が隠されていることに関係しています。
だから私が理解していると思う方法は、スクロールすると、ボンネットの下の何かが大きな長方形のブリットシフトを行い、すでに存在するコンテンツをシフトし、塗りつぶす必要がある領域の長方形で無効化を呼び出します。
これが事実である場合、このステージを禁止するか、キープアップラグを取り除くために欠落している他のセットアップのように、とにかくこれについて何かありますか?
PS: 空のスタブである OnPaintBackground メソッドもオーバーライドします。