I think the easier way would be limit the Max Length characters to 1 in textbox properties
and in the TextChanged event you can write
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Length > 0)
{
char[] SpecialChars = "+-*/".ToCharArray();
int indexOf = textBox1.Text.IndexOfAny(SpecialChars);
if (indexOf == -1)
{
textBox1.Text = string.Empty;
MessageBox.Show("Enter Valid Character")
}
}
}