💻

【C#】非表示にしたコントロールの空間を詰めるシンプルな方法

に公開

概要

フォームアプリで、ボタンなどのコントロールを非表示(Visible = false)にした時、コントロールの存在していた場所に空間ができてしまいます。この空間を詰める方法を紹介します!

状態 実行結果 備考
通常
非表示 button2を非表示
非表示&詰める button2を非表示
非表示分の空間を詰める

動作環境

.Net 8.0
.Visual Studio 2022

方法

デザイナーでボタンをflowLayoutPanelの上に設置するだけで、実現できます。
(とてもシンプルです!)

flowLayoutPanelは、ツールボックスのコンテナーの中になります。

サンプル

button2のVisible = falseとするとbutton3が左側に詰まります。

詰める方向

flowLayoutPanelFlowDirectionプロパティを変更することで詰める方向を変更することができます。(デフォルトは左詰め(LeftToRight))

FlowDirection サンプル
LeftToRight
TopDown
RightToLeft
BottomUp

Discussion