2010-11-08 5 views
0

Из-за того, что мое приложение является квадратичным решателем корня, и получение ввода из NumericUpDown в форме 0 вызовет ошибку divide by zero, мне было интересно, можно ли указать конкретный элемент управления NumericUpDown, который не может быть установлен на 0. Или, просто легче поймать это с условным и решить его?C# WindowsForms NumericUpDown Свойство «не может равняться значению x»?

ответ

1

Вы можете создать проверку в валидирующем-событии

private void numericUpDown1_Validating(object sender, CancelEventArgs e) 
{ 
    if ((sender as NumericUpDown).Value == 0) 
    { 
     e.Cancel = true; 
    } 
} 

Но также необходимо проверить в вашем код, всегда проверять ввод ...

0

NumericUpDown имеет два свойства calld Minimum и Maximum, которые устанавливают минимальное и максимальное значение для вашего управления вверх/вниз. Вы можете просто установить его минимальное значение 1, так что пользователь не сможет выбрать 0.

+0

Да, но мне также нужно учитывать тот факт, что я _can_ вычисляет отрицательные значения, а не ноль. – Qcom

+1

мм в этом случае я думаю, что единственным решением будет обработка 0 при изменении значения NumericUpDown или в вашей функции –

+0

Да, хорошо спасибо – Qcom