読者です 読者をやめる 読者になる 読者になる

謎言語使いの徒然

適当に気になった技術や言語を流すブログ。

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

C# Tips

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 は他のコードとは書く場所違いますが、
それは自前で補正してください。