If you want to only enter numbers you can assign an event to the textbox.KeyPress to handle this. Then mark the maximum character size to restrict the number of digits.
public Form1()
{
InitializeComponent();
textBox1.MaxLength = 2;
textBox1.KeyPress += textBox1_KeyPress;
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsNumber(e.KeyChar) && (e.KeyChar != '\b'))
e.Handled = true;
}
In case of validating using the Validating event of the TextBox, it follows:
private void textBox2_Validating(object sender, CancelEventArgs e)
{
var tbx = (TextBox)sender;
var txt = tbx.Text.Trim();
//tamanho superior a tantos digitos..
if (txt.Length > 3)
{
e.Cancel = true;
MessageBox.Show("Altertar que digitou muitos digitos?!");
}
//algo não é número
else if (txt.Any(w => !char.IsNumber(w)))
{
e.Cancel = true;
MessageBox.Show("Altertar que digitou algo que não é número?!");
}
//inicia com zero e tem outros numeros
else if (txt.StartsWith("0") && txt.Any(w => "123456789".Contains(w)))
{
e.Cancel = true;
MessageBox.Show("Altertar que digitou zero antes de algum outro número?!");
}
}