我的Windows窗体应用程序中有一个文本框,我正在尝试使用以下条件来查看它们是否匹配:
Can only enter A-F(a-f) and 0-9
Backspace/Delete/Arrow keys are allowed
我有以下代码隐藏(表单加载时默认文本为FFFFFF
):
private void tbHex_TextChanged(object sender, EventArgs e)
{
Regex rx = new Regex(@"^[a-fA-F0-9");
MatchCollection mc = rx.Matches(tbHex.Text);
if (mc.Count > 0) //if anything other than what is asked is entered...
{
MessageBox.Show("NO!");
}
}
当表单加载时发生了什么,我显示“NO!”消息框。
如何进行修改,以便用户只能输入有效字符/键,并在粘贴到文本框中时进行相同的验证,并逐字逐句输入。
答案 0 :(得分:1)
最初设置文本时,表单加载时发生文本更改。它也将在每个字符击键时触发。您可以使用Validating
或Validated
等事件,如果您只想在用户更改文本后才启动它。