private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(Char.IsLetter(e.KeyChar) || Char.IsDigit(e.KeyChar) || Char.IsControl (e.KeyChar))){
e.Handled = true;
Console.Beep();
}
}
But, like MusiGenesis said in this question: Allow only alphanumeric in textbox
Handling the KeyDown or KeyPress events is not enough. 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.