6月 13

フォームをタスクバーに表示させない

フォームを表示すると
タスクバーにフォームのアイコンと名称が表示されますが
これを表示したくない場合は
ShowInTaskbarプロパティにfalseを設定します。

【補足】
フォーム表示後に同プロパティにfalseを設定すると
そのタイミングで非表示となります。

最初から非表示にしたい場合はデザイン時に設定しておくか
或いはFormのLoadイベントの中で同プロパティにfalseを設定するか
newした後、Show()或いはShowDialog()する前に
同プロパティにfalseを設定してください。

this.ShowInTaskbar = false;
6月 13

フォームを最大化/最小化/元の大きさに戻す(或いは状態を知る)

WindowStateプロパティーに列挙値を設定します。
フォームの表示状態を知りたい場合は
同プロパティを参照します。

// 最大化
this.WindowState = FormWindowState.Maximized;

// 最小化
this.WindowState = FormWindowState.Minimized;

// 元の大きさと位置に戻す
this.WindowState = FormWindowState.Normal;
6月 13

フォームのタイトルバーを非表示に

FormBorderStyleプロパティの値を
FormBorderStyle.Noneにする方法がありますが
フォームの境界線まで消えてしまってサイズ変更ができなくなってしまいます。

サイズ変更を行いたい場合は
タイトル名のテキストに”"を設定し、
さらにControlBoxプロパティにfalseを設定します。

// 方法1:タイトルバーは消えますがサイズ変更不可になる例
this.FormBorderStyle = FormBorderStyle.None;

// 方法2:サイズ変更可能なままタイトルバーだけ消す例
this.Text = "";
this.ControlBox = false;
6月 13

フォーム右上の最大化/最小化/閉じるボタンを制御する

下記ソースのプロパティを参考にしてください。

なお、最大化ボタンだけ押下不可にしても
ボタンが押せなくなるだけで非表示にななりません。
最大化、最小化、両ボタンを押下不可にして
はじめて両ボタンが非表示になります。

// フォーム右上の最大化ボタンを押下不可にする
this.MaximizeBox = false;

// フォーム右上の最小化ボタンを押下不可にする
this.MinimizeBox = false;

// フォーム右上の最大化/最小化/閉じる各ボタンを非表示に
this.ControlBox = false;
6月 13

フォームを閉じる

Close()メソッドを使います。

ShowDialog()でモーダル表示されたフォームも
Show()でモードレス表示されたフォームも
どちらもClose()で閉じますが

Show()でモードレス表示したフォームを閉じた場合に
明示的にそのリソースを解放したい場合は
Dispose()を呼び出してください。

// 自身のフォームを閉じる場合、次のどちらでもOKです。
this.Close();    // thisと明示してもよし
Close();        // しなくともよし

// 他のフォームを閉じる場合
// 次のようにまず表示しておいて(モードレス表示)
Form2 f2 = new Form2();
f2.Show();

// 閉じたいタイミングでCloseをコール
f2.Close();
6月 13

フォームをアクティブにする(最前面に表示)

Activate()関数を使います。

// 自身をアクティブにする
this.Activate();    // thisをつけてもよし
Activate();         // つけなくてもよし

// 他のフォームをアクティブにする場合
// 次のようにまず表示しておいて(モードレス表示)
Form2 f2 = new Form2();
f2.Show();

// アクティブにしたいタイミングでActivateをコール
f2.Activate();
6月 13

フォームの初期表示位置を変更する(その2)

(その1)で解説した方法を応用して
今度は任意の位置に、任意のサイズで
フォームを初期表示する例です。

StartPositionにManualを設定し、
DesktopBoundsプロパティーに位置とサイズが格納された
Rectangleを設定します。

サンプル中のRectangleのパラメータは順に
・表示位置のX座標(画面左端は0)
・表示位置のY座標(画面上端は0)
・表示サイズの幅
・表示サイズの高さ

// 表示したいフォームのインスタンスを生成
Form2 f2 = new Form2();

// フォームの表示位置はマニュアル設定
f2.StartPosition = FormStartPosition.Manual;

// 位置とサイズを指定
f2.DesktopBounds = new Rectangle(0, 0, 200, 100);

// フォームを表示(モーダル)
f2.ShowDialog();
6月 13

フォームの初期表示位置を変更する(その1)

FormのStartPositionプロパティを使います。
フォームを表示する際、
表示位置をあらかじめ指定することができます。

例えば、
表示元の親フォームの中央であったり
スクリーンの中央であったり。

表示位置を指定するには
フォームを表示する前に
フォームのStartPositionプロパティに
表示位置を指定する列挙体の値を設定します。

以下は
スクリーン中央にフォームを表示する例です。

// 表示したいフォームのインスタンスを生成
Form2 f2 = new Form2();

// フォームの表示位置はスクリーン中央
f2.StartPosition = FormStartPosition.CenterScreen;

// フォームを表示(モーダル)
f2.ShowDialog();

この他にも、FormStartPosition列挙体には
次のような値が用意されています。
詳しくはMSDNを参照。

CenterParent
親フォーム(表示元)の境界内の中央に配置

CenterScreen
スクリーンの中央に配置

Manual
位置はLocationプロパティによって決定されます。

WindowsDefaultBounds
フォームは Windows の既定位置に配置され、
Windows の既定により決定されている境界を持ちます。

WindowsDefaultLocation
フォームは Windows の既定位置に配置され、
フォームのサイズとして指定された大きさになります。