2017-01-26 155 views
0

我有datetimepicker工具,用于员工出生日期条目,我想检查用户是否忘记输入有效的出生日期,并在当前日期离开datetimepicker,所以他会收到一条警告消息。
我试着写在ValueChanged事件的代码,但它没有工作,因为我想...任何帮助如何比较由datetimepicker输入日期和当前日期

if (empRegBdatePicker.Value == DateTime.Today) 
      { 
       MessageBox.Show("Please enter a valid birth date of an employee"); 
       empRegBdatePicker.Focus(); 
      } 
+0

的可能的复制[?如何在C#的DateTime比较(http://stackoverflow.com/questions/3059497/how- to-compare-datetime-in-c) –

+0

我想我们需要更多的信息。调试器是否碰到了上面的代码? 'empRegBdatePicker.Value'的价值是什么?它以什么方式不起作用? – Baldrick

+0

不要将它写入ValueChanged事件中,如果用户忘记输入其出生日期,则值不会更改,因此事件不会触发。 – bolt19

回答

2

如果你想检查只是日期,你可以试试这个:

if(empRegBdatePicker.Value.Date == DateTime.Now.Date) 
{ 
    //birthdate is today 
} 
+0

我已经在Validating事件中使用了您的条件,并且完全按照我想要的从我的问题中完成了。非常感谢:) –

0

只需简单地写

if(empRegBdatePicker < Today) 
{ 
    //birthdate is in past 
} 

此外,前执行此验证任何保存操作而不是某些值更改的事件。

+0

我应该在哪里写这个条件? –

+0

在任何“保存”到数据库之前,您应该检查该数据库,以便验证规则。通过域更改事件,用户可以跳过(不做任何事情),并且仍然可以设法脱身 –

相关问题