技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

TextBox コンポーネントの値チェックをやってみる。

C#での実装です。
VB.NETの人は脳内補正してください。

TextBoxコンポーネント は基本的に Form で インスタンス化 して使うので、
その Form でこんなことをしてみる。

/* 使うもの */
using System.Text.RegularExpressions;

/* 定義 */
private System.Windows.Forms.TextBox text;

/* 初期化 */
private void InitializeComponent()
{
   this.text = new System.Windows.Forms.TextBox();
   /* 以下略 */
}

/* フォームを閉じる前に呼び出されるイベント */
protected override void OnClosing(CancelEventArgs e)
{
    Regex reg = new Regex("^[0-9]+$");
    if(!reg.IsMatch(text.Text))
    {
        /* 正規表現一致しなければ */
        /* 警告文を出す */
        MessageBox.Show("数字以外の文字が挿入されています。");
        /* Form を閉じさせない */
        e.Cancel = true;
    }
    base.OnClosing(e);
}

という風に書いてみた。
using は他のコードとは書く場所違いますが、
それは自前で補正してください。