1

NumericUpDown在应用程序中有 2 个控件winforms用于最小值/最大值。我想做一些事情,如果 MAX 是 30,则 MIN 值不应超过 29,如果说 MIN 值当前为 20,则 MAX 值不应超过 21。

所以我想要的是 MIN 和 MAX 值之间应该总是 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 值。

4

1 回答 1

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;
    }
于 2013-07-01T17:47:02.687 回答