マスクされたテキスト ボックスが正規表現を受け入れる場合、これは簡単ですが、残念ながらそうではありません。
1 つの (あまりきれいではありませんが) 方法は、オプションのレター?
マスクを使用して、テキスト ボックスで許可する最大長と同じ量を入力することです。つまり、
maskedTextBox1.Mask = "????????????????????????????????.......";
または、マスクの代わりに独自の検証を使用し、そのような正規表現を使用することもできます
void textbox1_Validating(object sender, CancelEventArgs e)
{
if (!System.Text.RegularExpressions.Regex.IsMatch(textbox1.Text, @"^[a-zA-Z]+$"))
{
MessageBox.Show("Please enter letters only");
}
}
または、 KeyPressイベントを処理することにより、文字以外のキー押下を無視することもできます。これは、私の意見では最善の方法です。
private void textbox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!System.Text.RegularExpressions.Regex.IsMatch(e.KeyChar.ToString(), @"^[a-zA-Z]+$"))
e.Handled = true;
}