2013-07-01 5 views
1

У меня есть 2 NumericUpDown элементы управления в приложении winforms для значения Min/Max. Я хочу что-то сделать, чтобы, если MAX позволяет сказать 30, значение MIN не должно увеличиваться более чем на 29, и если можно сказать, что значение MIN в настоящее время равно 20, значение MAX не должно быть любовником, чем 21.Ограничение текущего значения элемента управления NumericUpDown другим NumericUpDown

So я хочу, чтобы всегда было 1 между значением MIN и MAX.

Я попытался логично это сделать, как приведенный ниже код, но он не работает! Что не так?

private void numericUpDownChartMin_ValueChanged(object sender, EventArgs e) 
{ 
    var value = numericUpDownChartMin.Value; //Current value 

    if (value < numericUpDownChartMax.Value) //if value < MAX 
     tempChart.ChartStyle.MinimumValue = value; //Use the value 
    else 
     numericUpDownChartMin.Value = value; //Keep the value the same 
} 

private void numericUpDownChartMax_ValueChanged(object sender, EventArgs e) 
{ 
    var value = numericUpDownChartMax.Value; //Current value 

    if (value > numericUpDownChartMin.Value) //if value > MAX 
     tempChart.ChartStyle.MaximumValue = value; //Use the value 
    else 
     numericUpDownChartMax.Value = value; //Keep the value the same 
} 

ПРИМЕР !!!!

Текущее значение upDownMÍN 20 и upDownMax текущее значение равно 30. Таким образом, пользователь может изменить значение upDownMin до 29.

, если upDownMAX были увеличены, чтобы сказать 40, пользователь может установить upDownMIN до 39.

То же самое для upDownMAX ..... пользователь не должен устанавливать максимальное значение ниже значения upDownMIN.

ответ

3
private void numericUpDownChartMin_ValueChanged(object sender, EventArgs e) 
    { 
     numericUpDownChartMax.Minimum = numericUpDownChartMin.Value + 1; 
    } 

    private void numericUpDownChartMax_ValueChanged(object sender, EventArgs e) 
    { 
     numericUpDownChartMin.Maximum = numericUpDownChartMax.Value - 1; 
    } 
+0

Ну, это тоже не помогает :( –

+0

Тогда, пожалуйста, объясните функциональность вы хотите точно;. Такое, что я могу обновить код соответственно В любом случае, вы должны учитывать булевой переменной избегайте «побочных эффектов». – varocarbas

+0

Очистите сейчас. Дайте мне пару минут – varocarbas

Смежные вопросы