2014-01-30 50 views
0

行,所以我想在我的DateTimePicker不断更新的时间,我这样做如下:只有在更新的DateTimePicker时间,没有日期

private void timer1_Tick(object sender, EventArgs e) 
    { 
     dtpTime.Value = DateTime.Now; 
    } 

Timer1的时间间隔设置为1000(毫秒)。我遇到的问题是我也在datetimepicker上显示日期,我不想用更新更改日期,但通过将DateTime.Now分配给dtpTime.Value,它会更新整个datetimepicker。我根本找不到更新时间的方法。

感谢您的帮助提前。

+0

一个'DateTimePicker'通常用于允许用户*选择*日期/时间。不断变化的价值会让用户很难做到这一点。它确实需要成为'DateTimePicker',还是可以使用'TextBox'并只是格式化文本? – Snixtor

+0

无需解释所有我想要做的事情,对于程序的应用程序,用户不应该能够更改时间,只能更改日期。 datetimepicker是完成我想要做的最简单的方法 –

+0

另一种方法是将输入分成两部分。一个用于选择日期,另一个是只显示时间组件的只读字段。通过组合这两个值来创建最终的'DateTime'。 – Snixtor

回答

2

因此,您需要从选取器的日期和现在的时间组成值?

DateTime now = DateTime.Now; 

dtpTime.Value = new DateTime(dtpTime.Value.Year, dtpTime.Value.Month, dtpTime.Value.Day, now.Hour, now.Minute, now.Second); 
0

要更新到当前时间,请尝试使用

DateTime.Now.TimeOfDay 
0

设置日期选择器的CustomFormat属性hh:mm:ss时间或dd/MM/yyyy hh:mm:ss日期和时间

,并选择Custom格式属性datetimepicker

dtpTime.Value = DateTime.Now; 

将根据自定义格式显示值,格式列表可在这里MSDN

希望这有助于..

相关问题