开发者

How can I allow only 0 or 1 to be entered in a TextBox?

How can I limit the TextBox control to only allow the values 0 and 1?

Thanks. And I have one more question: How can I disable put text from cl开发者_开发技巧ipboard in my textbox control?


By using the event 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);
}

Setting e.Handled to true / false indicates if the character should be accepted to the box or not.

You can read more about KeyPressEventArgs on MSDN.

Note

Keys.Delete should cover Keys.Delete, Keys.Backspace and other "Back" buttons.


If you do want to show the numbers rather than a check or something but only want to allow 0 or 1 you could use a NumericUpDown control and set min to 0 max to 1 and step to 1.

If you do actually need a textbox I'd use Filip's answer but I'd set the MaxLength of it to 1 to avoid having to worry about 00, 11 or 01 or similar values.


You may want to see the answer to this related question:

C# Input validation for a Textbox: float

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜