プロが教える店舗&オフィスのセキュリティ対策術

手操作ではなくプログラムでPanelを作り、そのPanelに上から下に向かって100ヶのCheckBoxを加えました
Panelのサイズはあまり大きくありませんので、100ヶ目のCheckBoxは当然スクロールしなければ見ることが出来ません

目いっぱいスクロールするとPanelの下枠と100ヶ目のCheckBoxの最下部が同じ所にあります
すなわち100ヶ目のCheckBoxがPanelの下枠に乗っかっている状態であり、100ヶ目のCheckBoxとPanel下枠の間に余白がありません

見た目が悪いので、100ヶ目のCheckBoxの更に下にダミーのLabelを設け Label.Text="" で表示すると余白が出来ます
⇒ Label.Visibilty=false ではダメ

でもこの方法ではプログラム的に誠にブザマです

PanelのプロパティのScroll辺りの値を色々変えてみましたが上手くいきません
Panelに加えたコントロールの下に余白を作る方法をご存知でしたらご指導お願い申し上げます

A 回答 (2件)

問題は「Panelの上にオブジェクトを配置するとPanelの大きさが自動的に広がるが、自動で広がったまま放置している」と言う部分にあります。



CheckBoxを追加したあとに、丁度良い余白が出来るように、PanelのHeightプロパティを増加させる、のが「正しい手法」だと思います。

これなら、CheckBoxの個数が可変でも大丈夫でしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます

Heightを大きくしてTRYしてみます

お礼日時:2012/01/24 20:32

パネルを3枚重ねる方法とTabLayoutPanelにのせる方法とがあると思います



パネル3枚重ねの場合
BasePanel ScrollPanel ControlPanel といった3枚を用意して
BasePanelをUIの配置のエリア
ScrollPanelをスクロールさせる範囲 ... AutoScrollプロパティをTrueに設定します
ControlPanelに実際のチェックボックスを配置
といった具合で出来るかと …

TabLayoutPanelの場合は配置セルを3行3列にし、中央(1,1)にスクロースさせるパネルを貼り付けます
このパネルをAutoScrollさせて この上にControlPanelを配置しチェックボックス等を配置します
TabLayoutPanelのほかのセルの高さや幅などを調整してみましょう
「C# Panel領域の下部に余白を設ける」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます

参考にさせて頂きます

今後も宜しくご指導願います

ありがとうございました

お礼日時:2012/01/24 20:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!