在窗口,数字上下控制,我怎么能增加半小时

时间:2015-07-24 02:07:26

标签: c# .net winforms

我想问一下,当我点击数字向上控制中的向上/向下按钮时,如何增加或减少时间间隔(一半和一小时)。

2 个答案:

答案 0 :(得分:2)

NumericUpDown控件不支持时间。但是,如果要将其值用作分钟数,则可以将其Increment属性设置为30。

NumericUpDown.Increment Property

  

获取或设置增加或减少旋转框的值(同样   单击向上或向下按钮时,称为“向上控制”。

     

单击向上按钮会使Value属性增加   由Increment属性指定的数量并接近最大值   属性。单击向下按钮将导致Value属性   递减递增属性指定的数量和   接近最小属性。

答案 1 :(得分:0)

这是一个NumericUpDown,它只允许你拥有整数和一半的值:

public class HalfHourNumericUpDown : NumericUpDown
{

    public HalfHourNumericUpDown()
    {
        this.DecimalPlaces = 1;
    }

    public override void UpButton()
    {
        if (this.Value <= this.Maximum - (decimal).5)
            this.Value = this.Value + (decimal).5;
        else
            this.Value = this.Maximum;
        this.RoundToHalf();
    }

    public override void DownButton()
    {
        if (this.Value >= (decimal).5)
            this.Value = this.Value - (decimal).5;
        else
            this.Value = this.Minimum;
        this.RoundToHalf();
    }

    protected override void UpdateEditText()
    {
        base.UpdateEditText();
        this.RoundToHalf();
    }

    private void RoundToHalf()
    {
        decimal value = this.Value;
        value = value * 2;
        value = Math.Round(value, MidpointRounding.AwayFromZero);
        value = value / (decimal)2;
        this.Value = Math.Min(this.Maximum, Math.Max(value, this.Minimum));
    }

}