0
我在我的Windows窗体应用程序有一个文本框,我尝试使用下面的条件,看它们是否匹配:如何验证一个WinForm文本框
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!”消息框。
我该如何修改,以便用户只能输入有效的字符/键,并且在粘贴到文本框中时也进行相同的验证以及按字符输入字符。
尝试使用['MaskedTextBox'](https://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox%28v=vs.110%29.aspx)而不是' TextBox'。 –
是否缺少']'('@“^ [a-fA-F0-9”') – Han
这是一个UI噩梦。更好地抑制任何无效字符而不是用消息框击中用户。看看右边的很多例子---> – TaW