フォームの最小サイズ・最大サイズを設定する [C#]

C#でWindowsフォームアプリケーションのフォームの最小サイズ・最大サイズを設定する方法を紹介します。
フォームの最小サイズを設定するには、System.Windows.Forms名前空間にあるFormクラスのMinimumSizeプロパティを使用します。フォームの最大サイズを設定するには、同クラスのMaximumSizeプロパティを使用します。

本記事ではVisual Studioで作成した、Windowsフォームアプリケーションのプロジェクトに記述するコードを記載します。
Windowsフォームアプリケーションのプロジェクトを作成する方法については、以下の記事を参照してください。

Windowsフォームアプリケーションのプロジェクト(ソリューション)を作成する。[C#]
Visual StudioでC#のWindowsフォームアプリケーションのプロジェクト(ソリューション)を作成する方法を記載します。 ...

フォームの最小サイズと最大サイズを設定する

フォームの最小サイズと最大サイズは、フォームデザイナーのプロパティグリッド、またはコードで設定することができます。

デザイナーのプロパティグリッドで設定する

フォームデザイナーを開きます。
フォームデザイナーを開いたら、プロパティウィンドウを表示します。
プロパティウィンドウが表示されていない場合は、メニューバーの「表示」メニューにある「プロパティ ウィンドウ」をクリックするかF4キーを押してください。

フォームデザイナーのプロパティグリッド
上記の画像のプロパティグリッドは項目別ではなくアルファベット順で表示しています。

デザイナーのプロパティグリッドにあるMinimumSizeプロパティのテキストボックスに、幅と高さをカンマ(,)で区切って入力します。

フォームデザイナーのMinimumSizeプロパティ

MinimumSizeプロパティの左にある「+」をクリックすると、幅(Width)と高さ(Height)が展開して表示されますので、幅(Width)と高さ(Height)をそれぞれのテキストボックスに入力することもできます。

フォームデザイナーのMinimumSizeプロパティのWidthとHeight

MaximumSizeプロパティもMinimumSizeプロパティと同様に、テキストボックスに、幅と高さをカンマ(,)で区切って入力します。

フォームデザイナーのMaximumSizeプロパティ

左にある「+」をクリックすると、幅(Width)と高さ(Height)が展開して表示されますので、幅(Width)と高さ(Height)をそれぞれのテキストボックスに入力することで設定できるのもMaximumSizeプロパティもMinimumSizeプロパティと同様です。

フォームデザイナーのMaximumSizeプロパティのWidthとHeight

コードで設定する

コードエディタを表示して以下のコードを入力します。

フォームのMinimumSizeプロパティを指定したフォームは、境界線(ボーダー)をドラッグしてサイズを小さくしても、MinimumSizeプロパティに設定した大きさまでしか小さくできなくなります。
MaximumSizeプロパティはMinimumSizeプロパティとは逆に、境界線(ボーダー)をドラッグしてサイズを大きくした際に、フォームを大きくできるサイズとなります。

MinimumSizeプロパティとMaximumSizeプロパティは、設定をしない場合の既定値が「Width: 0, Height: 0」になっています。フォームの最小サイズと最大サイズを指定しない(フォームのサイズに上限と下限を設けない)場合は、MinimumSizeプロパティとMaximumSizeプロパティを「Width: 0, Height: 0」にすることになります。

サンプルプログラム

ここではフォームのインスタンスを生成してフォームを表示し、表示したフォームの最小サイズ(MinimumSizeプロパティ)と最大サイズ(MaximumSizeプロパティ)を指定してフォームの大きさを制限したり、最小サイズ、最大サイズを既定値に戻して、フォームのサイズを制限しないようにするプログラムを作成します。

ユーザーインターフェース

フォームには、新しいフォームのインスタンスを生成して表示するボタン(button1)と、最小サイズと最大サイズを指定するテキストボックス(textBox1とtextBox2)を配置し、最小サイズと最大サイズを表示したフォームに適用するボタン(button2)を配置します。

最小サイズと最大サイズを設定するサンプルフォームのデザイン

ソースコード

ボタンがクリックされた際のイベント処理を記述します。

プログラムの実行

プロジェクトをビルドして実行(デバッグ)します。

最小サイズと最大サイズを設定するサンプルフォームを起動

button1をクリックするとフォームが表示されます。

最小サイズと最大サイズを設定するサンプルフォームからフォームを起動

最小サイズと最大サイズのテキストボックスにサイズを指定してbutton2をクリックすると、表示したフォームのMinimumSizeとMaximumSizeが設定されます。

最小サイズと最大サイズを指定

テキストボックスに「0, 0」を指定してbutton2をクリックすると、フォームの最小サイズと最大サイズが解除されます。

最小サイズと最大サイズを指定を解除