DateTimePicker重置日期

时间:2009-11-09 00:11:27

标签: winforms controls interaction

我正在使用DateTimePicker和澳大利亚日期格式设置(dd / mm / yyyy)

问题是当用户输入一个月外的日子(mm)时,控件将当天重置为“1”。

对于用户来说,这显然是一个相当令人困惑的障碍 - 首先进入月份然后进入日期[文化明智]

是不自然的

有没有办法禁用此验证或推迟它,直到说控制失去焦点?

谢谢!

2 个答案:

答案 0 :(得分:2)

我已经尝试了,但是我没有看到我们可以通过DateTimePicker的属性禁用微观验证。

当前日期是“09/11/2009”(dd / MM / yyyy)并且用户想要通过键盘从左到右输入“31/12/2009”时,我知道你的沮丧。

DateTimePicker 1   

在点击“31”时,它将恢复为“1”,因为11月只有30天。如果输入“32”,它将显示“2”。

DateTimePicker2

它强制用户先输入月份,然后输入当天。即进入右,左,极右方向。

我的建议是使用更通用的格式,例如yyyy-MM-dd,虽然不遵循您的区域/文化格式,但用户(或澳大利亚朋友)仍然很容易理解。

答案 1 :(得分:0)

另一种选择可能是实例化编辑控件并将其覆盖在日期时间选择器的编辑之上,并使用该值设置日期时间选择器的值。当然,在进行设置之前,您需要进行一些验证;并且您还想模仿日期时间选择器的编辑字段允许您单独选择日期,月份和年份的方式。