たくさんのラベルをC#フォームに追加してから、フォームを垂直にスクロールするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4428016

質問

C#(winform)にフォームがあります。このように見えます:


(ロゴ)

コードを介して追加するラベル用の空白スペース(このスペースに10個のラベルを収めることができます)

(閉じるボタン)


空白スペースは約10のラベルを保持できます。

20個のラベルを追加したい場合、このフォームをスクロール可能にする方法に困惑していますか?コードを介して20のラベルを追加すると、11番目のラベルが閉じるボタンとオーバーラップし、12+ラベルがフォームの端で実行されます。

ラベルを作成している場所でスクロール可能なフォームの空白スペース部分だけを作成するにはどうすればよいですか?リストボックスを使用したくありません。

ありがとう。

役に立ちましたか?

解決

すべてのコントロールをパネル内に配置し、Scrollbarコントロールを使用します。

.NET Scrollbarsを理解します

他のヒント

どちらかを使用してみてください TableLayoutPanel またはa FlowLayoutPanel あなたのための容器として Label コントロール。

a TableLayoutPanel ラベルが配置されている場所をより細かく制御できるようになります。 HTMLテーブルのように、各コントロールの正確なセル位置(行と列座標を使用)を指定します。

対照的に、a FlowLayoutPanel 垂直または水平のレイアウト構成のいずれかで、その内容の位置を自動的に処理します。ポジショニングは、コントロールを追加する順序によって決定され、最小限の大騒ぎで動的なレイアウトを実現できます。

どちらも、実行時にラベルコントロールを追加し、適切にサイズ自体を追加することができます。レイアウトパネルをスクロール可能にするために、 あなたがそれを設定することを確認してください AutoScroll 「真」へのプロパティ。

多分a FlowLayoutPanelAutoScroll trueに設定します FlowDirection に設定 TopDown.

aを使用できます flowlayoutpanel.

必要なラベルを数多く追加し、flowlayoutpanelでAutoScrollを有効にします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top