如何验证winform文本框

时间:2015-05-19 14:10:27

标签: c# winforms

我的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!”消息框。

如何进行修改,以便用户只能输入有效字符/键,并在粘贴到文本框中时进行相同的验证,并逐字逐句输入。

1 个答案:

答案 0 :(得分:1)

最初设置文本时,表单加载时发生文本更改。它也将在每个字符击键时触发。您可以使用ValidatingValidated等事件,如果您只想在用户更改文本后才启动它。