2013-06-03 29 views
1

是否可以在代碼中設置timepicker值。在代碼中設置timepicker值

我在這裏想的是,如果我有一個時間選擇器,並選擇一個時間值,這就是應該使用的時間。

但是,如果我不選擇一個時間值,它應該設置00:00作爲默認值,我想用代碼做到這一點。

哈得有些瘋狂的想法是這樣的:

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

沒有工作,良好的那麼有沒有進行這種沒有什麼好的辦法。

UPDATE

這裏是我的想法:

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

UPDATE2 這裏是所有的代碼,並得到一個例外,這就是爲什麼我要設置的值碼becasue接受可空的日期時間似乎沒有工作。

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

什麼是例外? –

+0

檢查我的其他帖子關於這個異常在這裏http://stackoverflow.com/questions/16893855/exception-of-type-system-invalidoperationexception-occurred-in-mscorlib-ni-dll – mogren3000

+0

是不是有兩個職位幾乎相同的東西 – mogren3000

回答

0

如果已經覆蓋了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 
    } 

這樣的事情應該讓你得到你想要的結果。

+0

增加了一些代碼。 startDate.Value是一個時間選擇器 – mogren3000

+0

格式和文本或DateTimePickerFormat,我不能設置非這些 – mogren3000

+0

在你的OP中,你說你有一個'timePicker'控件。在您的示例中,我沒有看到任何與此相關的代碼。你在問'DateTimePicker'控件嗎?或者'DateTime'對象? –