ウィンドウのサイズが変更されたときに、ウィンドウのオブジェクト(ボタン、ラベルなど)を中央に保つにはどうすればよいですか?
現在、Windowsフォームには3つのボタンがあります。ウィンドウを最大化すると、ボタンはウィンドウの左上に留まります。ウィンドウが最大化されていないときのように、中央に配置してほしい。
何か助けは?
オブジェクトのアンカープロパティをnoneに設定する必要があります。
これはそれを真ん中に保ちます。
レイアウトを固定し、途中でこれを行うには:
Form
にTableLayoutPanel
を追加します。Dock
プロパティをFill
に設定します。Panel
などを配置します。常に真ん中です。コントロールのAnchor
プロパティを正しく設定します。デフォルトでは、コントロールはTop,Left
に固定されています。このプロパティをクリアすると(基本的には何にもアンカーされない)、ボタンは中央に配置されたままになります。
(4つの辺すべてに固定したいように見えるかもしれませんが、実際には、ボタンのサイズを変更してフォームを満たすようにします!)
Visual Studioのビジュアルデザイナを使用している場合(そうする理由がない場合)、フォーム内に配置する方法を管理するためのコントロールのプロパティは "アンカー"です。デフォルトでは、新しいコントロールを作成すると、コントロールは「左上」に設定されます。これは、コントロールがフォームの左上に固定された位置に留まることを意味します。それらを変更して、何にでも固定できます。
フォームのResizeメソッドをオーバーライドすることで、アンカーを無効にして位置を制御することもできます。