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

发布于 2025-01-04 01:01:48 字数 384 浏览 1 评论 0原文

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

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

它给了我以下内容:

无法将属性或索引器“System.DateTime.TimeOfDay”分配给 -- 只读

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

I am trying to check an entered time in a DateTimePicker control and correct it to the closest acceptable value in C#

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

It gives me the following:

Property or indexer 'System.DateTime.TimeOfDay' cannot be assigned to
-- it is read only

Why does it handle the DateTimePicker object as a system time?
I could not find anything related to Read-Only state of the control in VS 2003.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

变身佩奇 2025-01-11 01:01:48

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

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

Summer1.Value = Summer2.Value

应该可以正常工作,但可能不会给你想要的结果。

最接近您想要的输出将是这样的

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

Summer1.Value is the property of DateTimePicker and it has type of DateTime. This property is assignable.

You're trying to assign Summer1.Value.TimeOfDay - which is a property of DateTime object Summer1.Value - and this property does not have setter in DateTime class.

Summer1.Value = Summer2.Value

should work fine but may not give you the desired result.

The closest to your desirable output will be something like

Summer1.Value = Summer1.Value.Date + Summer2.Value.TimeOfDay;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文