如何在TextBox中只允许输入0或1?

时间:2010-05-21 13:19:27

标签: c# textbox

如何将TextBox控件限制为仅允许值0和1?

感谢。我还有一个问题:如何在文本框控件中禁用剪贴板中的文本?

3 个答案:

答案 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)

您可能希望看到相关问题的答案:

C# Input validation for a Textbox: float