Delphi DatetimePicker不记录日期

时间:2019-05-10 18:59:27

标签: delphi datetimepicker

在退出我的Delphi表单时,如果用户键入Datetimepicker数字,则在以下情况下日期(DateTimePicker1.Date)的值不会更改:1.)Windows日期格式为MM / dd / yy, 2.)DateTimePicker中的默认日期值在5月11日有2位数字的天作为“ 11”(例如“ 05/11/19”),3)表单上有一个“ OK” BitBtn,它是默认值按钮4)。用户在当天的区域中键入2,然后按“ Enter”键。 “确定”按钮的代码: procedure TMyForm.BitBtn1Click(Sender: TObject); var testDate: TDateTime; begin MessageDlg('My date is '+DateToStr(DateTimePicker1.Date),mtInformation,[mbOK],0); end; 不幸的是,对于我的许多用户来说,上述所有条件都是很常见的,才能使此操作失败。例如,如果用户在5月2日键入“ 02”,则很好,或者用户点击在“确定”按钮上,或者用户箭头离开日期条目或跳出日期条目之外字段,然后他们可以按“ Enter”(输入),默认设置可以很好地运行按钮。

我尝试了表单和按钮上的许多属性,但均无济于事。到目前为止,我认为可以解决的问题是使“确定”按钮不是默认按钮,但我应该能够保持此用户友好状态?

1 个答案:

答案 0 :(得分:1)

DateTimePicker中的一位数字不足以将所需的2位数字设置为具有许多Windows日期格式的date变量。此信用应该归因于@SertekAkyuz,说在访问更改的日期之前只需添加一个“ SetFocus”即可。在BitBtn.Click的开头,它不仅是“ SetFocus”,还包括BitBtn1.SetFocus或其他组件。