Winforms 日期时间选择器重置日期

Winforms 日期时间选择器重置日期,winforms,controls,interaction,Winforms,Controls,Interaction,我正在使用带有澳大利亚日期格式设置(dd/mm/yyyy)的DateTimePicker 问题是,当用户输入一个月(mm)以外的日期时,控件将该日期重置为“1” 对于用户来说,这显然是一个相当令人困惑的障碍——首先输入月份,然后输入日期[文化方面]是不自然的 有没有办法禁用此验证或将其推迟到控件失去焦点时 谢谢 我已经尝试过了,但我看不出我们可以通过DateTimePicker的属性禁用此项进行微验证 我知道当当前日期为“09/11/2009”(dd/MM/yyyy)且用户希望通过键盘从左到右输

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

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

对于用户来说,这显然是一个相当令人困惑的障碍——首先输入月份,然后输入日期[文化方面]是不自然的

有没有办法禁用此验证或将其推迟到控件失去焦点时


谢谢

我已经尝试过了,但我看不出我们可以通过DateTimePicker的属性禁用此项进行微验证

我知道当当前日期为“09/11/2009”(dd/MM/yyyy)且用户希望通过键盘从左到右输入“31/12/2009”时,您会感到沮丧

在htting“31”之后,它将恢复为“1”,因为11月只有30天。如果输入“32”,则显示“2”

它强制用户先输入月份,然后输入日期。即,沿右、左、极右方向进入


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

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