Хотите изменить DateTimePicker.Value.TimeOfDay, но это только для чтения - PullRequest
1 голос
/ 09 февраля 2012

Я пытаюсь проверить введенное время в элементе управления DateTimePicker и исправить его до ближайшего допустимого значения в C #

if (Summer1.Value.TimeOfDay > Summer2.Value.TimeOfDay)
                Summer1.Value.TimeOfDay = Summer2.Value.TimeOfDay;

. Это дает мне следующее:

Свойствоили индексатору System.DateTime.TimeOfDay нельзя присвоить - он доступен только для чтения

Почему он обрабатывает объект DateTimePicker как системное время?Я не смог найти ничего, связанного с состоянием элемента управления только для чтения в VS 2003.

1 Ответ

1 голос
/ 09 февраля 2012

Summer1.Value является свойством DateTimePicker и имеет тип DateTime. Это свойство присваивается.

Вы пытаетесь присвоить Summer1.Value.TimeOfDay - что является свойством DateTime объекта Summer1.Value - и у этого свойства нет сеттера в DateTime классе.

Summer1.Value = Summer2.Value

должно работать нормально, но может не дать желаемого результата.

Ближайшим к вашему желаемому выводу будет что-то вроде

Summer1.Value = Summer1.Value.Date + Summer2.Value.TimeOfDay;
...