Как мне сделать программу которая запрещает ввод букв?
string text = textBox1.Text;
for (int cif2 = 0; cif2 < text.Length; cif2++) {
for (int cif = 0; cif < 10; cif++)
if (text[cif2] != Convert.ToChar(cif)) {
textBox1.Text = "" ;
}
}
Мне нужно сделать так что бы я не мог ввести в текстбокс буквы.Попытался сделать так как на верху пишет индекс за границами масива
Ответы (2 шт):
Автор решения: Andrew
→ Ссылка
На основе этого примера не сложно написать код который ты хочешь:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// удалить точку
if ( e.KeyChar == '.' )
{
e.Handled = true; //отменить ввод
}
}
Автор решения: motpfofs
→ Ссылка
Есть два варианта решения этой задачи:
- Использовать NumericUpDown он автоматически фильтрует вводимые данные и так же предоставляет пользователю использовать кнопки вверх вниз на клавиатуре, чтобы менять значение.
- Отслеживать ивенты и предотвращать ввод любых не числовых значений:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) &&
(e.KeyChar != '.'))
{
e.Handled = true;
}
// only allow one decimal point
if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1))
{
e.Handled = true;
}
}
Если вам нужно ограничить количество символов, которые пользователь может ввести в текст бокс доавьте эту строчку:
textBox1.MaxLength = 2; // this will allow the user to enter only 2 digits