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 の既定位置に配置され、
フォームのサイズとして指定された大きさになります。

6月 13

フォームのタイトル名を変更する

FormのTextプロパティーに文字列を設定します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Text = "タイトル名";
        }
    }
}

form_title

6月 13

新しいフォームを表示する(モーダル/モードレス)

FormのShow()関数、或いはShowDialog()関数を使います。
あるフォームから、別のフォームを表示します。
表示方法にはモーダルとモードレスの2通りがあります。

モーダルは
表示元フォームの前面(上)に表示先フォームが表示され、
表示先フォームを閉じるまで、表示元フォームへ戻れません。

これに対しモードレスは
表示元フォームと、表示先フォームを自由に行き来することができます。

モーダル表示のサンプル

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

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

モーダルとモードレス両者の違いは
ShowDialog()するか、Show()するかの違いですが
後者のモードレスの場合は
表示してすぐにShow()関数から制御が戻ります。

フォームをモードレス表示したい場合は
上記サンプルのShowDialog()をShow()に変更してください。