【问题标题】:Only update time on datetimepicker, not date仅在 datetimepicker 上更新时间,而不是日期
【发布时间】:2014-01-30 20:37:32
【问题描述】:

好的,所以我想不断更新我的 datetimepicker 上的时间,我这样做如下:

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

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

提前感谢您的帮助。

【问题讨论】:

  • a DateTimePicker 通常用于允许用户选择日期/时间。不断改变它的价值会让用户很难做到这一点。它一定是DateTimePicker,还是你可以使用TextBox 并格式化文本?
  • 无需解释我正在尝试做的所有事情,对于程序的应用程序,用户应该无法更改时间,只能更改日期。日期时间选择器是完成我想做的最简单的方法
  • 另一种方法是将输入分成两部分。一个供用户选择日期,另一个是只读字段,仅显示时间部分。通过组合这两个值来创建最终的DateTime
  • 是的,我宁愿不必在整个程序中更改所有的便便。有几种选择,但添加一行代码似乎是最好的

标签: c# winforms datetimepicker


【解决方案1】:

那么你需要从picker的日期和现在的时间组成值吗?

DateTime now = DateTime.Now;

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

【讨论】:

    【解决方案2】:

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

    datetimepickerFormat属性下选择Custom

    dtpTime.Value = DateTime.Now;
    

    它将根据自定义格式显示值,格式列表可在此处MSDN获得

    希望这会有所帮助..

    【讨论】:

      【解决方案3】:

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

      DateTime.Now.TimeOfDay 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-12
        • 2015-04-25
        • 2021-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多