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