【发布时间】:2009-10-23 18:54:34
【问题描述】:
我们有几个 DateTimePickers 在一个自定义的用户控件上,在一个窗体上。它们是可见的,但未启用(仅用于显示目的)。当加载 UserControl 时,DateTimePickers 会从来自 DataSet 的 DataRow 中分配值,该 DataSet 存储从 SQL Server 存储过程返回的单个记录。
存在不一致的行为,用户有时会看到今天的日期,而不是分配给 DateTimePicker 的日期。我是否将我想要的日期分配给 .Value 属性或 .Text 属性似乎并不重要:
txtstart.Value = (DateTime) dr["Group_Start_Date"];
txtend.Text = dr["Term_Date"].ToString();
我希望在上面的两个语句中,使用 Value 属性的那个更合适。但是,在这两种情况下,无论数据库中的值如何,都会向用户显示今天的日期。对于 txtstart.Value,Visual Studio 显示该值已按预期分配。那么为什么它不向用户显示该日期而不是今天的日期呢?
【问题讨论】:
-
如果 DateTimePicker ecnounters 为空或 null 值,它将显示今天的日期。
-
如果 DateTimePicker 总是 被禁用,为什么不使用文本框来代替呢?
-
实际上我已将这些切换到文本框,因为我无法确定为什么禁用控件首先存在。但重点仍然存在。如果我在代码中为 DateTimePicker 分配一个值,这就是我希望在运行时看到的值。
标签: c# .net datetimepicker winforms