我有一个派生自DateTimePicker
的课程。选择器控件的格式设置为DateTimePickerFormat.Custom
,自定义格式字符串设置为yyyy.MM.dd HH:mm
,以便以2013.01.25 21:45
格式显示日期。在这里,2013
是年度子字段,当用户使用鼠标光标或使用TAB
键对其进行单击时,它会高亮显示。高位后,用户可以使用UP
/ DOWN
键来增加/减少年份,或手动输入新年值。月,日,小时和分钟子字段也是如此。
对于我的申请,禁止使用某些日期或时间值。例如,请考虑以下规则:
为此,我需要知道哪个子字段目前有焦点。问题是我不知道如何确定这一点。如果我知道哪个子域有焦点,我可以在代码中设计以下规则集。
UP
键,则将时间增加10分钟。DOWN
键,则将时间减少10分钟。唯一仍然存在的问题.. 我如何找到子目前关注的焦点?
注意:是的我可以在OnLeave
事件中进行验证检查,但我的应用程序要求完全跳过无效的日期时间值。另外,我已经检查了here给出的解决方案。但我倾向于将活动子场作为练习。最后,如果它有用,我在Windows 7 x86上使用C#4.0。