一部のアプリケーションでは、コントロールの位置を変更して解像度を可能な限り調整することに気付きました。ウィンドウが最大化されると、GUI全体でバランスが取れるように設定されます。私の質問は、Visual Studio 2010 C#でこの機能を作成または実装することは可能ですか?
これらの組み合わせを使用して、目的の結果を取得します。
Anchor
プロパティをNoneに設定すると、コントロールのサイズは変更されず、位置が移動するだけです。
Anchor
プロパティをTop + Bottom + Left + Rightに設定すると、コントロールのサイズが変更されますが、位置は変更されません。
をセットする Minimum Size
を適切な値に変換します。
Dock
プロパティを設定します。
つかいます Form Resize
好きなものを変更するイベント
(1)-(4)でフォントサイズ(ラベル、テキストボックス、コンボボックスなど)がどのように影響を受けるかはわかりませんが、(5)で制御できます。
float widthRatio = Screen.PrimaryScreen.Bounds.Width / 1280;
float heightRatio = Screen.PrimaryScreen.Bounds.Height / 800f;
SizeF scale = new SizeF(widthRatio, heightRatio);
this.Scale(scale);
foreach (Control control in this.Controls)
{
control.Font = new Font("Verdana", control.Font.SizeInPoints * heightRatio * widthRatio);
}
..そしてそれを処理するための解像度の変化を検出するために(一度、SwDevMan81のようなドッキングとアンカーを使用することをお勧めします) SystemEvents.DisplaySettingsChangedイベント in Microsoft.Win32 を使用します。
ここでは https://www.netresize.net/index.php?c=3a&id=11#buyopt を使用します。ただし、有料版です。
また、1サイトライセンス(無制限の開発者)を購入すると、ソースコードを取得できます。
どのように私はnugetパッケージソリューションを見つけていますか。
フォームロードイベントでこの行を追加します
this.WindowState = FormWindowState.Maximized;