Проверка текстового поля в C# Winforms-должна разрешать только цифры от 1 до 100



Здравствуйте, извините, что это простой вопрос, но я был бы признателен, если бы кто-нибудь помог мне с кодом. У меня есть, скажем, 50 текстовых полей в моей Winform. Все должны допускать только числовые значения, и то тоже только между 1-100. Как я должен обеспечить эту проверку?



Мои мысли были связаны с использованием e. Keychar в событии keypress, использующем значения Ascii, чтобы ограничить пользователей вводить только цифры. Кроме того, вероятно, я могу обеспечить эту проверку в наборе в свойстве? Но я не знаю, прав ли я, и также не знаю, прав ли я. код. Пожалуйста, помогите мне.

630   1  

1 ответ:

Использование NumericUpDown вместо обычной TextBox коробки с валидацией.

Элемент управления NumericUpDown содержит единственное числовое значение, которое может быть увеличивается или уменьшается при нажатии кнопок вверх или вниз на панели управления. контроль. Пользователь также может ввести значение, если только оно не указано только для чтения. свойству установлено значение true.

Вы можете указать минимальное и максимальное число, это позволит пользователю вводить числа от 1 до 100, а также использовать кнопки вверх и вниз.

EDIT: если вы хотите сделать это через код, то вы можете попробовать что-то вроде в KeyPress событии вашего TextBox:

private void yourTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!char.IsControl(e.KeyChar)
        && !char.IsDigit(e.KeyChar))
    {
        e.Handled = true;
    }
}

Вышесказанное можно улучшить, чтобы получить доступ к . для десятичных чисел, но я думаю, что вы поняли идею.

Comments

    Ничего не найдено.