[C#][Windows Formsアプリ][TextBox] フォーカス移動後に Validatedイベントで入力内容をチェックする

スポンサーリンク

はじめに

TextBoxの入力内容が確定し、フォーカスが別のコントロールに移動したあとに発生するのが
Validatedイベント です。
入力が正しいと判断されたあとで実行したい処理を記述するのに最適です。

Validatedイベントとは?

Validated イベントは、TextBoxが入力検証(Validating)を通過して
フォーカスが移動した直後に発生します。
このイベント自体ではキャンセルはできません。

例:ユーザーがTextBoxに入力し、他のコントロールに移動 →
入力内容が有効な場合、Validated イベントが呼び出されます。

Validatingとの違い

項目 Validating Validated
発生タイミング フォーカス移動前 フォーカス移動後
キャンセル可能 可能(e.Cancel=true 不可
主な用途 入力チェック 入力後の処理(登録・反映など)

基本の使い方

イベントハンドラの例

private void textBox1_Validated(object sender, EventArgs e)
{
    MessageBox.Show("入力が確定しました: " + textBox1.Text);
}

Validated イベントはキャンセルできないため、入力完了後に処理を続ける前提で使います。

実用例:入力後にデータを反映

using System;
using System.Windows.Forms;

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

        private void textBoxName_Validated(object sender, EventArgs e)
        {
            labelStatus.Text = "登録済みユーザー名: " + textBoxName.Text;
        }
    }
}

この例では、ユーザーが名前を入力してフォーカスを移動すると、その内容がラベルに反映されます。

注意点

  • Validating がキャンセルされた場合、Validated は発生しない
  • CausesValidationfalse のボタンを押すと、Validated は呼ばれない
  • 登録処理などの本処理は Validated に記述し、入力チェックは Validating に分けると安全

まとめ

  • Validated は入力が正しく完了したあとに発生するイベント
  • データ反映や状態更新に向いている
  • Validating とセットで使うことで堅牢な入力処理が実現できる
Please follow and like us:

コメント

タイトルとURLをコピーしました