2010-09-15 102 views
2

我想验证TextBox的输入是二进制数。仅限二进制数字文本框

我知道我可以用RegEx做到这一点,但我想要一个更“中间”的验证,就像只允许输入1和0一样。

我想过使用MaskedTextBox,但我不知道如何只允许这两个字符。

回答

5

实现KeyPress事件。设置e.Handled = true,如果你不喜欢这个键:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { 
     // Allow backspace, 0 and 1 
     e.Handled = !("\b01".Contains(e.KeyChar)); 
    } 
+1

+1我不喜欢'MaskedTextBox',用户无法复制粘贴。顺便说一句,为什么不只是'e.Handle =!(“01”.Contains(e.KeyChar)|| e.KeyChar == 8)'。 – 2010-09-15 04:10:40

+0

非常简单的答案,谢谢。 – 2010-09-15 12:24:02