Visual Studio等でC#を使用してGUIアプリケーションを作成する場合に使用するFormの説明です。
ウィンドウであるフォーム(Form)クラスの基本的なプロパティ・メソッド・イベント等について記載します。
フォームの境界線スタイルを指定する
フォームの境界線スタイルを指定するには、フォームのFormBorderStyleプロパティを使用し指定します。
FormBorderStyleプロパティはFormBorderStyle列挙体です。
this.FormBorderStyle = FormBorderStyle.FixedDialog;
フォームの最大化・最小化・閉じるを非表示にする
フォームの右上にある最大化、最小化ボタンの表示・非表示の設定は、MaximizeBox・MinimizeBoxプロパティを設定します。閉じるボタンの表示・非表示はControlBoxを設定します。
※閉じるボタンを非表示にすると最大化、最小化、閉じるボタンも消えます。
//最大化ボタンの表示、非表示を切り替える this.MaximizeBox = false; //最小化ボタンの表示、非表示を切り替える this.MinimizeBox = false; //コントロールボックスの表示、非表示を切り替える this.ControlBox = false;
フォームの最大サイズ・最小サイズを設定する
//フォームの最大サイズを設定する this.MaximumSize = new System.Drawing.Size(1024, 512); //フォームの最小サイズを設定する this.MinimumSize = new System.Drawing.Size(128, 128);
フォームが最大化された時の位置とサイズを設定する
this.MaximizedBounds = new Rectangle(128, 128, 512, 256);
フォームをタスクバーに表示しない
this.ShowInTaskbar = false;
フォームを常に最前面に表示する
this.TopMost = true;
フォームを閉じる
this.Close();
フォームを表示する
Form2 fm2 = new Form2(); fm2.Show();
フォームをモーダルで表示する
using (Form2 fm2 = new Form2()) { fm2.ShowDialog(); }
フォームの表示位置を設定する
フォームの初期位置は、StartPositionプロパティをFormStartPosition列挙体で指定します。
fm2.StartPosition = FormStartPosition.CenterParent;
フォームをアクティブにする
fm2.Activate();
フォームを隠す
fm2.Hide();
子コントロールが表示されているかどうか確認
if (fm2.Visible) { }
コントロールが破壊されているかどうか
if (!fm2.IsDisposed) { }
フォームに[OK] ボタン・[Cansel]ボタンを追加
private void button_OK_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.OK; } private void button_Cancel_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; }
呼び出し側
private void button1_Click(object sender, EventArgs e) { using (Form2 fm2 = new Form2()) { if (fm2.ShowDialog() == DialogResult.OK) { MessageBox.Show("OKボタンが押されました。"); } } }
フォームが閉じられるのをキャンセルする
private void Form2_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show("閉じますか?", "確認", MessageBoxButtons.YesNo) == DialogResult.No) { e.Cancel = true; } }