[Tips][MaskedTextBox] マスクの書式と一致しない文字が入力されたことを検知する

MaskedTextBoxでは、MaskInputRejectedイベントを使用して、入力した文字が設定したマスクの書式と一致しないことを知ることができます。

下記は入力された文字がマスクと一致しない場合にメッセージを表示する例です。

VBの例

'''
''' フォームロード時の処理
'''
''' <param name="sender" />
''' <param name="e" />
'''
Private Sub Form9_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'マスクの設定(数値3桁)
    MaskedTextBox1.Mask = "000"
End Sub

'''
''' 入力された文字がマスクと一致しない場合
'''
''' <param name="sender" />
''' <param name="e" />
'''
Private Sub MaskedTextBox1_MaskInputRejected(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MaskInputRejectedEventArgs) Handles MaskedTextBox1.MaskInputRejected
    MessageBox.Show("無効な文字が入力されました")
End Sub

C#の例

///
/// 08.読み取り専用にする
///
/// <param name="sender" />
/// <param name="e" />
private void button8_Click(object sender, EventArgs e)
{
    Form8 f8 = new Form8();
    f8.ShowDialog();
}

///
/// 09.マスクの書式と一致しない文字が入力されたことを検知する
///
/// <param name="sender" />
/// <param name="e" />
private void button9_Click(object sender, EventArgs e)
{
    Form9 f9 = new Form9();
    f9.ShowDialog();
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.