如何将TextBox控件限制为仅允许值0和1?
感谢。我还有一个问题:如何在文本框控件中禁用剪贴板中的文本?
答案 0 :(得分:11)
使用活动KeyPress
private void NumericOnlyKeyBox_KeyPress(object sender, KeyPressEventArgs e)
{
var validKeys = new[] { Keys.Back, Keys.D0, Keys.D1 };
e.Handled = !validKeys.Contains((Keys)e.KeyChar);
}
将e.Handled
设置为true / false表示该字符是否应该被接受。
您可以在MSDN上阅读有关KeyPressEventArgs的更多信息。
注意强>
Keys.Delete应该包括Keys.Delete,Keys.Backspace和其他“后退”按钮。
答案 1 :(得分:2)
如果你想显示数字而不是支票或其他东西,但只想要允许0或1,你可以使用NumericUpDown
控件并将min设置为0 max到1并逐步执行1。
如果你确实需要一个文本框,我会使用Filip的答案,但我会将其MaxLength
设置为1,以避免担心00,11或01或类似的值。
答案 2 :(得分:1)
您可能希望看到相关问题的答案: