将NumericUpDown控件的当前值限制为另一个NumericUpDown

本文关键字:NumericUpDown 另一个 控件 | 更新日期: 2023-09-27 18:20:31

我在winforms应用程序中有两个NumericUpDown控件,用于最小/最大值。我想做一些事情,如果最大值是30,最小值不应该增加到29以上,如果最小值目前是20,最大值不应该超过21。

所以我想要的是,最小值和最大值之间应该总是有1。

我试着像下面的代码一样进行逻辑运算,但它不起作用!怎么了?

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值。

将NumericUpDown控件的当前值限制为另一个NumericUpDown

    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;
    }