WisdomSoft - for your serial experiences.

5.2 サイズ変更グリップ

フォームの右下隅に表示されるサイズ変更グリップの表示を制御します。プログラムから明示的にサイズ変更グリップを表示することも、隠すこともできます。

5.2.1 サイズ変更グリップの設定

フォームは、必要に応じて右下にサイズ変更グリップを表示させることができます。サイズグリップは、境界線に面してウィンドウの右下に表示される小さなアイコンで、境界線に加えてサイズ変更グリップ上でマウスカーソルをドラッグさせてもフォームサイズを変更することができます。頻繁にサイズ変更が必要になるアプリケーション(例えばテキストやイメージ編集ソフトなど)で使われます。

図1 サイズグリップ
図1 サイズグリップ

デフォルトでは必要なときのみに自動的に表示させる設定になっていますが、プログラムが意図的にサイズ変更グリップを表示させたり、または隠したい場合には Form クラスの SizeGripStyle プロパティを明示的に設定します。

Form クラス SizeGripStyle プロパティ
public SizeGripStyle SizeGripStyle {get; set;}

このプロパティには、サイズ変更グリップのスタイルを定義する System.Windows.Forms.SizeGripStyle 列挙体のメンバのいずれかを指定します。

System.Windows.Forms.SizeGripStyle 列挙体
[Serializable]
public enum SizeGripStyle

この列挙体で定義のは、必要なときに自動的にサイズ変更グリップを表示する Auto、グリップを表示しない Hide、グリップを常に表示する Show メンバです。Form にはデフォルトで Auto が設定されています。

コード1
using System.Windows.Forms;

public class Test : Form
{
	static void Main() 
	{
		Form form = new Test();
		form.SizeGripStyle = SizeGripStyle.Show;
		Application.Run(form);
	}
}
実行結果
コード1 実行結果

コード1は、SizeGripStyle プロパティに Show メンバを設定し、常にサイズ変更グリップを表示させています。ゲームプログラミングではサイズ変更グリップを使うシナリオはほとんど存在しないので、このプログラムとは逆に Hide を設定して常に表示されないようにしても良いでしょう。

サイズ変更グリップの斜線の描画は Form クラスの OnPaint() メソッドを呼び出さなければなりません。Form クラスを継承したクラスで OnPaint() メソッドをオーバーライドする場合は注意してください。