Получение «недопустимого» значения из события NumericUpDown Validating - PullRequest
2 голосов
/ 21 мая 2010

Когда пользователь вводит значение выше numericUpDown.Maximum, значение элемента управления автоматически устанавливается на максимум. Я хотел бы отобразить MessageBox, когда это происходит, но я не могу этого сделать, потому что control.Value и control.Text уже содержат автоматически установленное значение, максимальное при возникновении события Validating.

private void numericUpDown_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
       NumericUpDown control = sender as NumericUpDown;
       decimal newValue = control.Value;

       // decimal newValue;
       // decimal.TryParse(control.Text, out newValue)

       if (newValue > control.Maximum || newValue < control.Minimum)
       {
            // MessageBox

        }

}

Спасибо

1 Ответ

3 голосов
/ 22 мая 2010

Притязание на пользователя, хлопая его по окнам сообщений, не дает лучшего пользовательского интерфейса.Но вы можете легко сделать это, просто установив min и max меньше / больше и проверив значение в событии ValueChanged.

...