Хотите изменить DateTimePicker.Value.TimeOfDay, но это только для чтения
Я пытаюсь проверить введенное время в элементе управления DateTimePicker и исправить его до ближайшего допустимого значения в C#
if (Summer1.Value.TimeOfDay > Summer2.Value.TimeOfDay)
Summer1.Value.TimeOfDay = Summer2.Value.TimeOfDay;
Это дает мне следующее:
Свойство или индексатор System.DateTime.TimeOfDay нельзя назначить - оно доступно только для чтения
Почему он обрабатывает объект DateTimePicker как системное время? Я не смог найти ничего, связанного с состоянием элемента управления только для чтения в VS 2003.
1 ответ
Summer1.Value
является собственностью DateTimePicker
и это имеет тип DateTime
, Это свойство присваивается.
Вы пытаетесь назначить Summer1.Value.TimeOfDay
- которая является собственностью DateTime
объект Summer1.Value
- и это свойство не имеет сеттера в DateTime
учебный класс.
Summer1.Value = Summer2.Value
должно работать нормально, но может не дать желаемого результата.
Наиболее близким к желаемому результату будет что-то вроде
Summer1.Value = Summer1.Value.Date + Summer2.Value.TimeOfDay;