Установить значение таймпикера в коде

Можно ли установить значение таймпикера в коде.

Я думаю, что если у меня есть средство выбора времени и я выбираю значение времени, то время должно использоваться.

Но если я не выберу значение времени, по умолчанию должно быть установлено 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;
            }

update2 Вот весь код и получение исключения, и именно поэтому я хочу установить значение в коде, потому что принятие значения nullable datetime, похоже, не сработало.

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

person mogren3000    schedule 03.06.2013    source источник
comment
Что это за исключение?   -  person Evan L    schedule 03.06.2013
comment
проверьте мой другой пост об этом исключении здесь stackoverflow.com/questions/16893855/   -  person mogren3000    schedule 03.06.2013
comment
Разве это не нормально, когда есть два сообщения почти об одном и том же   -  person mogren3000    schedule 03.06.2013
comment
Ничего страшного, просто неорганизованный. Если бы я знал, что у вас есть отдельный пост, это помогло бы сформулировать лучший ответ. Я прокомментировал другой пост, чтобы помочь людям перейти к этому посту, если они тоже запутались. Позже рассмотрим подробнее.   -  person Evan L    schedule 03.06.2013


Ответы (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 
    }

Что-то подобное должно дать вам желаемый результат.

person Evan L    schedule 03.06.2013
comment
Формат и текст или DateTimePickerFormat, я не могу установить ни одно из них - person mogren3000; 03.06.2013
comment
В своем OP вы сказали, что у вас есть timePicker элемент управления. Я не вижу кода, связанного с этим, в вашем примере. Вы спрашиваете об элементе управления DateTimePicker? Или объект DateTime? - person Evan L; 03.06.2013
comment
Хорошо, опубликованный вами код - это не DateTimePicker, а скорее DateTime. Format и Text - это методы на DateTimePicker. Я думаю, вы просто пытаетесь манипулировать не тем объектом. Взгляните на startDate.Text. И не переводите его на дату и время. - person Evan L; 03.06.2013
comment
Я добавил код, более конкретно нацеленный на ваш вопрос. - person Evan L; 03.06.2013
comment
Я использую это так: _nestedDateStartBreak1 = new DateTime (date.Year, date.Month, date.Day, date1.Hour, date1.Minute, 0); так что мне нужно, чтобы это было datetime, я думаю - person mogren3000; 03.06.2013
comment
давайте продолжим обсуждение в чате - person mogren3000; 03.06.2013
comment
@AlexanderMogren Я ждал в чате более часа (конечно, продолжая свою работу);) Но вы не ответили, поэтому я обновил свой код, добавив в свой код более лаконичный способ установки значения вашего средства выбора по умолчанию. - person Evan L; 03.06.2013
comment
я действительно сожалею. не видел тебя. - person mogren3000; 03.06.2013
comment
нужно только установить время, потому что дата устанавливается с помощью datepicker - person mogren3000; 03.06.2013
comment
Похоже, вы хотите, чтобы я написал для вас код ... Я думаю, что с информацией, которую я дал, вы сможете заставить ее работать. - person Evan L; 03.06.2013
comment
нет, я не хочу, чтобы ты это писал. Я не уверен, что вы понимаете, чего я хочу. так плохо объяснять. - person mogren3000; 03.06.2013
comment
Если вы пытаетесь установить время ТОЛЬКО для объекта DateTime, это будет проблематично. Прочтите здесь сообщение по теме ССЫЛКА В противном случае да я видимо не понимаю, о чем вы спрашиваете. Возможно, проясните свой вопрос в ОП. - person Evan L; 03.06.2013