この章では、テキストボックスと2つのボタンを持つフォームを作ってみます。
テキストボックスや、ボタンは機能ごとに独自のクラスを作るようにしてみます。
一つのボタンは、テキストボックスに表示されている文字列をメッセージボックスで表示します。もう一つのボタンは、テキストボックスをクリアします。
テキストボックスをクリアするには、Textプロパティを「""」に設定してもよいのですが、TextBoxBase.Clearメソッドを使っても同じ事ができます。
public void Clear ()また、Control.Focusメソッドで、そのコントロールにフォーカスを設定することができます。
では、サンプルを見てみましょう。
// textbox02.cs
using System;
using System.Drawing;
using System.Windows.Forms;
class textbox02
{
    public static void Main()
    {
        MyForm mf = new MyForm();
        Point pt1 = new Point(10, 10);
        MyTextBox mt = new MyTextBox(mf, pt1);
        Point pt2 = new Point(10, 20 + mt.Height);
        MyButton mb = new MyButton(mf, mt, pt2);
        Point pt3 = new Point(20 + mb.Width, 20 + mt.Height);
        MyClearButton mc = new MyClearButton(mf, mt, pt3);
        Size sz = new Size(30 + mb.Width + mc.Width, 30 + mt.Height + mb.Height);
        mf.ClientSize = sz;
        mf.FormBorderStyle = FormBorderStyle.FixedSingle;
        mf.MaximizeBox = false;
        mf.MinimizeBox = false;
        Application.Run(mf);
    }
}
class MyTextBox : TextBox
{
    public MyTextBox(Form parent, Point pt)
    {
        Parent = parent;
        Location = pt;
    }
}
class MyButton : Button
{
    TextBox txtbox;
    public MyButton(Form parent, TextBox tb, Point pt)
    {
        txtbox = tb;
        Parent = parent;
        Location = pt;
        Text = "押す";
        BackColor = SystemColors.Control;
    }
    protected override void OnClick(EventArgs e)
    {
        base.OnClick(e);
        MessageBox.Show(txtbox.Text, "猫C#",
            MessageBoxButtons.OK,
            MessageBoxIcon.Information);
        txtbox.Focus();
    }
}
class MyClearButton : Button
{
    TextBox txtbox;
    public MyClearButton(Form p, TextBox t, Point pt)
    {
        Parent = p;
        txtbox = t;
        Location = pt;
        BackColor = SystemColors.Control;
        Text = "消す";
    }
    protected override void OnClick(EventArgs e)
    {
        base.OnClick(e);
        txtbox.Clear();
        txtbox.Focus();
    }
}
class MyForm : Form
{
    public MyForm()
    {
        Text = "猫でもわかるC#プログラミング";
        BackColor = SystemColors.Window;
    }
}
では、実行結果を見てみましょう。
「押す」ボタンを押すと、テキストボックスの内容が、メッセージボックスで表示されます。
「消す」ボタンを押すとテキストボックスの内容がクリアされます。
Update 13/Nov/2006 By Y.Kumei