コントロールをドッキングおよび固定する方法 (Windows フォーム .NET)
実行時にユーザーがサイズを変更できるフォームをデザインする場合は、フォーム上のコントロールのサイズと位置が適切に変更される必要があります。 コントロールには、フォームのサイズが変更されたときの自動の配置およびサイズ変更に役立つ 2 つのプロパティがあります。
-
ドッキングされるコントロールで、フォーム コントロールまたはコンテナー コントロールのコンテナーに合わせて端を調整します。 たとえば、Windows のエクスプローラーでは、TreeView コントロールがウィンドウの左側にドッキングされ、ListView コントロールがウィンドウの右側にドッキングされます。 ドッキング モードは、コントロールのコンテナーのどの側で使用することも、コンテナーの残りの領域を埋めるように設定することもできます。
コントロールは逆 z オーダーでドッキングされ、Dock プロパティが AutoSize プロパティと連携します。 詳細については、「サイズの自動調整」を参照してください。
-
固定されたコントロールのフォームのサイズが変更されたときに、コントロールとアンカーの位置の間の距離は維持されます。 たとえば、フォームの左端、右端、下端に固定されている TextBox コントロールがある場合、フォームのサイズが変更されると、TextBox コントロールのサイズが、フォームの右端と左端から同じ距離に維持されるように水平方向に変更されます。 また、コントロールは、常にフォームの下端から同じ距離に位置するように垂直方向に配置されます。 コントロールが固定されていない状態でフォームのサイズが変更された場合は、フォームの端を基準としたコントロールの位置が変更されます。
詳細については、「コントロールの位置とレイアウト」を参照してください。
コントロールをドッキングする
コントロールは、その Dock プロパティを設定することによってドッキングされます。
注意
継承されたコントロールをドッキングできるようにするには、Protected
にする必要があります。 コントロールのアクセス レベルを変更するには、 [プロパティ] ウィンドウでその [Modifier] プロパティを設定します。
デザイナーを使用する
Visual Studio デザイナーの [プロパティ] ウィンドウを使用して、コントロールのドッキング モードを設定します。
デザイナーでコントロールを選択します。
[プロパティ] ウィンドウで、 [Dock] プロパティの右にある矢印をクリックします。
コントロールをドッキングするコンテナーの端を表すボタンをクリックします。 コントロールのフォームまたはコンテナー コントロールの全体に表示するには、中央のボックスをクリックします。 ドッキングを無効にするには、 [(なし)] をクリックします。
ドッキングされた端の境界に合わせて、コントロールのサイズが自動的に変更されます。
プログラムによって Dock を設定する
コントロールで
Dock
プロパティを設定します。 この例では、コンテナーの右側にボタンがドッキングされています。button1.Dock = DockStyle.Right;
button1.Dock = DockStyle.Right
コントロールを固定する
コントロールは、1 つ以上の値に Anchor プロパティを設定することにより端に固定されます。
注意
ComboBox コントロールなどの特定のコントロールの高さには制限があります。 コントロールをフォームまたはコンテナーの下部に固定しても、コントロールの高さを強制的に制限より高くすることはできません。
継承されたコントロールを固定できるようにするには、Protected
にする必要があります。 コントロールのアクセス レベルを変更するには、 [プロパティ] ウィンドウでその [Modifiers
] プロパティを設定します。
デザイナーを使用する
Visual Studio デザイナーの [プロパティ] ウィンドウを使用して、コントロールの固定された端を設定します。
デザイナーでコントロールを選択します。
[プロパティ] ウィンドウで、 [Anchor] プロパティの右にある矢印をクリックします。
アンカーを設定したり、設定を解除したりするには、十字の上、左、右、または下の端をクリックします。
プログラムによってアンカーを設定する
コントロールで
Anchor
プロパティを設定します。 この例では、コンテナーの右側と下側にボタンが固定されています。button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
関連項目
.NET Desktop feedback