我正在使用dateTimePickers,因此用户可以为我的程序中的某些内容指定日期。显然,“From”值应该在“To”值之前或之前,所以我添加了这个:
public CustomReportDialog()
{
InitializeComponent();
dateTimePicker1.MaxDate = DateTime.Now; //From Field
dateTimePicker2.MaxDate = DateTime.Now; //To Field
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(dateTimePicker1.Value.ToString());
MessageBox.Show(dateTimePicker2.Value.ToString());
if (dateTimePicker2.Value < dateTimePicker1.Value)
{
MessageBox.Show("Error!");
}
如果我只是打开表单并单击按钮,它会显示错误消息,即使消息框证明两个日期时间完全相同。如果我更改了其中一个日期,然后将其更改为它们相同,则没有错误显示......任何人都知道为什么?谢谢!
答案 0 :(得分:2)
所以最新发生的是程序启动时,datetimepickers的值实际上相差几毫秒!尝试同时设置value和maxdate属性。
DateTime currentTime = DateTime.Now;
dateTimePicker1.Value = currentTime;
dateTimePicker2.Value = currentTime;
dateTimePicker1.MaxDate = currentTime; //From Field
dateTimePicker2.MaxDate = currentTime; //To Field