私は、コントロールの幅に合わせて横にサイズを変更するアイテム(子コントロール)のリストを含むカスタムコントロールを作成しています。アイテムがたくさんある場合(またはコントロールのサイズが垂直方向に十分に大きくならないようにサイズが変更されている場合)、垂直スクロールバーが必要です。垂直スクロールバーが表示されると、子コントロールが突然大きくなり、水平スクロールバーが表示されます。WinForms:AutoScrollで水平スクロールバーを避けるには?
コントロールの配置を手動で制御している場合(AnchorStyles
に依存しない)、水平スクロールバーが表示されないことを保証する適切な方法は何ですか? (注:私はCompact Framework上にあるので手動でVScroll
プロパティを制御することはできません。アイテムの最小幅がクライアント領域より広い場合は、水平スクロールバーが正当に必要です)
私がやりたかったこと(iPhoneのようなFlickList)では、スクロールがCompact Frameworkで非常に遅いので、私はもはや答えが必要ではないことが分かりました。代わりに、十分なパフォーマンスを得るためにコントロールを自分で描く必要があります。私は、スクロールバーが現れる時間はどの瞬間ですか?スクロールバーが表示された直後に発生するイベントを処理して、その存在を正しく検出する必要があります。別の問題:スクロールバーが表示されるのを待つのは、コントロールが2度再描画されるため "フリッカー"が発生しますが、これは私にとっては問題ありません。 – Qwertie
私はこの回答を受け入れるかもしれません。 – Qwertie