【问题标题】:Set timepicker value in code在代码中设置时间选择器值
【发布时间】:2013-05-29 16:26:55
【问题描述】:

是否可以在代码中设置timepicker值。

我在这里的想法是,如果我有一个时间选择器并选择一个时间值,那就是应该使用的时间。

但是如果我不选择时间值,它应该将 00:00 设置为默认值,我想用代码来做到这一点。

有一个疯狂的想法,看起来像这样:

DateTime date;
date.Hour(00:00:00)

效果不是很好,所以有什么好的方法可以做到这一点。

更新

这是我的想法:

DateTime? temp = (DateTime)startDate.Value;
            DateTime date1;
            if (temp == null)
            {
               //Set the time to 00:00
            }
            else
            {
                date1 = (DateTime)temp;
            }

更新2 这是所有代码并出现异常,这就是为什么我想在代码中设置值,因为接受可为空的日期时间似乎不起作用。

  DateTime date = (DateTime)datePicker.Value;
  DateTime break1S = (DateTime)startBreak1.Value;
   _nestedDateStartBreak1 = new DateTime(date.Year, date.Month, date.Day, break1S.Hour, break1S.Minute, 0);

【问题讨论】:

  • 有什么异常?
  • 在这里查看我关于此异常的其他帖子stackoverflow.com/questions/16893855/…
  • 不可能有两个几乎相同的帖子
  • 没关系,就是杂乱无章。如果我知道您有一个单独的帖子,那将有助于制定更好的答案。如果他们也感到困惑,我对另一篇帖子发表了评论,以帮助将人们引导至该帖子。稍后会仔细研究。

标签: datetime windows-phone-8 c#-2.0 timepicker


【解决方案1】:

如果您已经将DateTimePicker 控件覆盖为仅TimePicker,则只需设置控件的text 属性即可。

    myTimePicker.Text = "00:00:00";

如果您仍然有 DateTimePicker 并且只想将其设置为 TimePicker,只需设置以下属性:

    myTimePicker.Format = DateTimePickerFormat.Time;
    myTimePicker.ShowUpDown = true;

我的建议是提前设置默认的Text 值,这样如果用户不输入时间,它将包含您已经指定的默认时间。

编辑:为您的 DateTime 对象设置默认值。

    DateTime defaultDate = new DateTime(); 
    defaultDate = Convert.ToDateTime("2013-12-31 00:00:00"); //Or whatever you want your default value to be...
    if (startDate.Value == null) 
    { 
        startDate.Value = defaultDate; 
    } 
    else 
    { 
        //do something else with the value 
    }

类似的东西应该可以得到你想要的结果。

【讨论】:

  • 格式和文本或 DateTimePickerFormat,我不能设置非这些
  • 在您的 OP 中,您说您有一个 timePicker 控件。在您的示例中,我没有看到任何与此相关的代码。您是在询问DateTimePicker 控件吗?还是DateTime 对象?
  • 好的,您发布的代码不是DateTimePicker,而是DateTimeFormatTextDateTimePicker 上的方法。所以我认为你只是想操纵错误的对象。看看startDate.Text。并且不要将其转换为日期时间。
  • 我添加了更专门针对您的问题的代码。
  • 我这样使用它:_nestedDateStartBreak1 = new DateTime(date.Year, date.Month, date.Day, date1.Hour, date1.Minute, 0);所以我想我需要它是日期时间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 2011-08-14
相关资源
最近更新 更多