Еще лучший способ убедиться, что ваше текстовое поле является числом, - это обработать событие KeyPress.Затем вы можете выбрать, какие символы вы хотите разрешить.В следующем примере мы запрещаем все символы, которые не являются цифрами:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// If the character is not a digit, don't let it show up in the textbox.
if (!char.IsDigit(e.KeyChar))
e.Handled = true;
}
Это гарантирует, что текст вашего текстового поля является числом, поскольку позволяет вводить только цифры.
Этоэто то, что я только что придумал, чтобы разрешить десятичные значения (и, видимо, клавишу возврата):
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (char.IsDigit(e.KeyChar))
{
return;
}
if (e.KeyChar == (char)Keys.Back)
{
return;
}
if (e.KeyChar == '.' && !textBox1.Text.Contains('.'))
{
return;
}
e.Handled = true;
}