Проверка текстового поля, когда ниже желаемого числа - PullRequest
0 голосов
/ 19 марта 2019

В моем текстовом поле допустимое значение должно быть в диапазоне от 80 до 160. Нет проблем, когда пользователь вводит число больше 160. Но для 80, когда пользователь начинает печатать, оно автоматически меняется на 80, так как1-значное целое число меньше 80. Какой подход я должен использовать здесь?

private void tbox_Power_TextChanged(object sender, EventArgs e)
{
    TextBox tb = sender as TextBox;
    if (tb.Text != String.Empty && int.Parse(tb.Text) > 160)
        tb.Text = "160";
    else if (tb.Text != String.Empty && int.Parse(tb.Text) < 80)
        tb.Text = "80";
    else if (tb.Text == String.Empty)
        tb.Text = "0";
}

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Вы всегда можете использовать NumericUpDown элемент управления для получения числового ввода от пользователя. Вы можете установить значения Minimum и Maximum, и вам не нужно выполнять никакой разбор.

1 голос
/ 19 марта 2019

Лучшее решение, которое я могу придумать, - это позволить пользователю ввести желаемое число, а затем, через некоторое время (скажем, 5 секунд), выполнить желаемую обработку.Вы можете использовать экземпляр Timer, установить задержку на 5000 и установить его в качестве обработчика события LostFocus.В событии Timer Tick вы можете выполнять любую обработку, какую захотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...