C# Windows フォーム アプリケーションにいくつかのコントロール (グループ ボックス、テーブル、グリッドビューなど) があり、画面の幅/高さに基づいてそれらをスケーリングしたいと考えています。
たとえば、画面は 640x480 で始まり、1920x1200 に最大化されます。
コントロールの幅/高さを増やして、ウィンドウのサイズが変更された後もまったく同じに見えるようにしたいと考えています。
すべての幅/高さのプロパティを手動で設定せずに、それを行う最良の方法は何ですか?
すべての幅/高さのプロパティを手動で設定せずに、それを行う最良の方法は何ですか?
幅と高さを指定する代わりに、 プロパティAnchor
とDock
プロパティを使用して、含まれている要素に基づいてコントロールをスケーリングできます。
あるいは、TableLayoutPanel
またはを使用FlowLayoutPanel
してコントロールを配置することもできます。
Anchor
コントロールのプロパティが必要だと思います。
名前が示すように、このプロパティは、コントロールを親フォームまたはコントロール内の相対位置または絶対位置に強制的に固定します。このプロパティには、オンまたはオフにできる 4 つの値があります。
Top -- Indicates that the control should keep its top edge stationary in respect to the parent form (or control) top edge. Bottom -- Indicates that the control should keep its bottom edge stationary in respect to the parent form (or control) bottom edge. Left -- Indicates that the control should keep its left edge stationary in respect to the parent form (or control) left edge. Right -- Indicates that the control should keep its right edge stationary in respect to the parent form (or control) right edge.
IIRC では、Ctrl+を使用してフォーム上のすべてのコントロールを選択しA、アンカー プロパティを上、下、左、右に設定します。