0

winforms をグラデーションでペイントしました。AutoScroll = true でそのうちの 1 つでパネルを使用しています。そうすれば、スペースを取らずにすべての情報を表示できます。

今、私はそのパネルを透明にしたいと考えています。背景色として透明を使用し、正常に動作します。問題は、スクロールするときです。透明度がぐちゃぐちゃ。この問題を解決する方法はありますか?

また、最終的な高さを知った後、フォームと同じグラデーションでパネルをペイントしようとしました。しかし、私は同じ問題を抱えています。

ここにいくつかの画像があります: (テキストボックスや透明な小さなパネルを見ないでください。それは白です)。

スクロール前(右) ここに画像の説明を入力

スクロール後(背景色の問題) ここに画像の説明を入力

スクロール後の別のもの:

ここに画像の説明を入力

4

2 に答える 2

1

同じ問題がありました。panel.Refresh() の呼び出しは、Invalidate() よりも見栄えがよく、スムーズに見えました。

于 2015-09-02T08:56:43.017 に答える
0

私は答えを引用します:

パネルの Scroll イベントのイベント ハンドラーを追加し、パネルの Invalidate() メソッドを呼び出します。これで背景は修正されますが、スクロール中は見栄えがよくありません。ポゴ効果が見られます。「ドラッグ中にウィンドウの内容を表示する」Windows オプションの避けられない副作用であり、合理的に無効にすることはできません。– ハンス・パッサン

于 2013-02-11T06:56:38.703 に答える