Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Allow only alphanumeric in textbox

I have a textbox that should disallow entering any special characters.

The user can enter :

  1. A-Z
  2. a-z
  3. 0-9
  4. Space

How can I make the KeyDown event to do this?

like image 718
Sauron Avatar asked May 26 '09 10:05

Sauron


1 Answers

Handling the KeyDown or KeyPress events is one way to do this, but programmers usually forget that a user can still copy-and-paste invalid text into the textbox.

A somewhat better way is to handle the TextChanged event, and strip out any offending characters there. This is a bit more complicated, as you have to keep track of the caret position and re-set it to the appropriate spot after changing the box's Text property.

Depending on your application's needs, I would just let the user type in whatever they want, and then flag the textbox (turn the text red or something) when the user tries to submit.

like image 105
MusiGenesis Avatar answered Nov 15 '22 13:11

MusiGenesis