想要更改DateTimePicker.Value.TimeOfDay,但它是只读的

时间:2012-02-09 15:36:52

标签: c# datetimepicker readonly timeofday

我正在尝试检查DateTimePicker控件中的输入时间并将其更正为C#中最接近的可接受值

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

它给了我以下内容:

  

Property或indexer' System.DateTime.TimeOfDay'无法分配    - 它是只读的

为什么它将DateTimePicker对象作为系统时间处理? 我在VS 2003中找不到与控件的只读状态相关的任何内容。

1 个答案:

答案 0 :(得分:1)

Summer1.ValueDateTimePicker的属性,其类型为DateTime。此属性可分配。

您正在尝试分配Summer1.Value.TimeOfDay - 这是DateTime对象Summer1.Value的属性 - 而且此属性在DateTime类中没有setter。

Summer1.Value = Summer2.Value

应该可以正常工作,但可能无法达到预期效果。

最接近您理想的输出将是

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