我有一个带有textbox的计时器,其中显示了Timespan值(持续时间)。当我停止计时器时,我想用一个UpDown控件编辑Timespan的值。我想要这样的东西:

但是上面的控件是一个datetimePicker,其格式属性设置为“自定义”,CustomFormat属性设置为"HH:mm:ss“,ShowUpDown属性设置为true。
因此,它只能显示dateTime值。
我希望它能显示时间盘值(如"32.23:59:59"),并使用UpDown控件编辑从光标中标记的秒、分钟、小时或天数。
那件事怎么可能?
是否必须从头开始创建自定义控件?
提前谢谢。
编辑:经过大量的思考和实验,我发现如果DomainUpDown控件有方法SelectionStart和SelectionLength,就可以使用DomainUpDown控件编辑TimeSpan。
我向Visual站点提交了这样的建议。请投票支持这样一个功能!
发布于 2012-06-29 18:45:56
使用DateTimePicker,但设置以下属性
格式=时间
ShowUpDown =真
我想这就是你想要的。
如果您需要天数,只需设置Format=Custom,并且CustomFormat = "dd:HH:mm:ss“
发布于 2012-07-02 12:17:10
如果你已经下定决心要在一个“时间跨度”内使用这个控件,并且你可以确保你的时间跨度在24小时以下,
ReadOnly baseDate As DateTime = New DateTime(2000, 1, 1)
Dim myTimeSpan As New TimeSpan
''// set value
DateTimePicker1.Value = baseDate.Add(myTimeSpan)
''// retrieve value
myTimeSpan = DateTimePicker1.Value.Subtract(baseDate)但是,你必须能够处理时间盘大于24小时或负时隙发生的事情。
https://stackoverflow.com/questions/11266751
复制相似问题