WinForm の自動拡大縮小を実現する方法
WinForm では、AutoScaleMode プロパティを設定することで、フォームの自動スケーリングを実現できます。AutoScaleMode プロパティには、次のオプションがあります:
- フォームやコントロールが自動でサイズ調整されません。
- システムのフォントサイズに連動し、フォームやコントロールのサイズを自動的に再調整します。
- DPI:ディスプレイのDPI設定に合わせてフォームやコントロールを自動的に拡大縮小します。
- 継承:親コントロールのAutoScaleModeプロパティを継承します。
AutoScaleModeプロパティは、フォントサイズに合わせてフォームとコントロールを自動で拡大縮小するFontが初期値です。
また、AutoScaleDimensions プロパティの設定でデザイン時のフォームサイズを指定することで、実行時に自動的にフォームとコントロールのサイズを拡大縮小することができます。
以下に、WinForm で自動スケーリングを実装する方法のサンプル コードを示します。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 设置自动缩放模式为Font
this.AutoScaleMode = AutoScaleMode.Font;
// 设置设计时窗体大小
this.AutoScaleDimensions = new SizeF(96F, 96F);
this.AutoScaleMode = AutoScaleMode.Dpi;
}
}
このコードでは、フォームの自動拡大縮小をフォントに設定し、AutoScaleDimensionsプロパティでフォームの設計時のサイズを指定します。プログラムを実行するとき、フォームとコントロールは、システムフォントのサイズに応じて自動的に拡大縮小されます。