たくさんのラベルをC#フォームに追加してから、フォームを垂直にスクロールするにはどうすればよいですか?
-
09-10-2019 - |
質問
C#(winform)にフォームがあります。このように見えます:
(ロゴ)
コードを介して追加するラベル用の空白スペース(このスペースに10個のラベルを収めることができます)
(閉じるボタン)
空白スペースは約10のラベルを保持できます。
20個のラベルを追加したい場合、このフォームをスクロール可能にする方法に困惑していますか?コードを介して20のラベルを追加すると、11番目のラベルが閉じるボタンとオーバーラップし、12+ラベルがフォームの端で実行されます。
ラベルを作成している場所でスクロール可能なフォームの空白スペース部分だけを作成するにはどうすればよいですか?リストボックスを使用したくありません。
ありがとう。
解決
すべてのコントロールをパネル内に配置し、Scrollbarコントロールを使用します。
他のヒント
どちらかを使用してみてください TableLayoutPanel
またはa FlowLayoutPanel
あなたのための容器として Label
コントロール。
a TableLayoutPanel
ラベルが配置されている場所をより細かく制御できるようになります。 HTMLテーブルのように、各コントロールの正確なセル位置(行と列座標を使用)を指定します。
対照的に、a FlowLayoutPanel
垂直または水平のレイアウト構成のいずれかで、その内容の位置を自動的に処理します。ポジショニングは、コントロールを追加する順序によって決定され、最小限の大騒ぎで動的なレイアウトを実現できます。
どちらも、実行時にラベルコントロールを追加し、適切にサイズ自体を追加することができます。レイアウトパネルをスクロール可能にするために、 あなたがそれを設定することを確認してください AutoScroll
「真」へのプロパティ。
多分a FlowLayoutPanel
と AutoScroll
trueに設定します FlowDirection
に設定 TopDown
.
aを使用できます flowlayoutpanel.
必要なラベルを数多く追加し、flowlayoutpanelでAutoScrollを有効にします。