2011-06-08 148 views

回答

0

我使用KeyDown事件解决了我的问题。 KeyEventArgs.SuppressKeyPress将完全处理我想要的!

0

简单:你不行。与标准MaskedTextBox不符。

+0

MaskedTextBox上没有验证吗?即使Java AWT也有! – Victor 2011-06-08 13:51:01

+1

我想你可以尝试拦截'KeyPress'事件并检查被按下的字符是否是一个有效的十六进制字符,但是如果你这样做了,你可以用一个简单的文本框来做。 – 2011-06-08 13:53:05

+0

我秒这个KeyPress拦截想法。您可以使用简单的文本框并将该字符与正则表达式[0-9a-fA-F]进行匹配。如果不匹配,请将e.Handled设置为true以取消击键。 – Ken 2011-06-08 14:02:48

0

您可以尝试将输入与Textbox.Validating事件处理程序中的正则表达式进行匹配。

我也使用了一个自己生成的“RegexMaskedTextBox”解决方案,我在Stack Overflow问题Restricting the characters in the text box中发布。

+0

验证事件威胁任何输入密钥?我想忽略其他键。 – Victor 2011-06-08 13:53:10

+0

在验证事件上做一个标准的正则表达式匹配是事后,因此不会忽略键。检查我刚发布的链接,我认为这可能会做你想做的事情,或者至少让你走上正确的道路。 – Ken 2011-06-08 13:55:20