繁体   English   中英

C#datetimepicker如果今天等于今天,则勾选复选框,否则未选中/取消选中

[英]C# datetimepicker if equals today then tick checkbox, else not checked/uncheck

我试图有一个复选框( notTodayCheckBox ),如果datetimepicker( DateTimePicker )有今天的选择,则不选中,如果不是今天的选择,则选中。

如果选择的日期不是今天,那么我当前的代码会打勾该框,但是如果我将其更改回今天,则不​​会取消选中该框。

当前代码:

private void DateTimePicker_ValueChanged(object sender, EventArgs e)
{
     DateTime check;
     if (DateTime.TryParse(dateTimePicker.Text, out check) && check != DateTime.Now)
     {
          notTodayCheckBox.Checked = true;
     }
     else if (DateTime.TryParse(dateTimePicker.Text, out check) && check == DateTime.Now)
     {
          notTodayCheckBox.Checked = false;
     }
}

DateTime.Now包含一个时间元素,也许您的日期选择器设置为不同的时间,即使一秒钟也会使它们不相等。

如果您只是在约会之后而不在乎时间。

checkDateTime.Now转换为ShortDateString()

它将两者都视为格式为mm/dd/yyyy string

check.ToShortDateString() == DateTime.Now.ToShortDateString()

或根据RenéVogt

check.Date == DateTime.TodayDateTime.Now.Date都将返回DateTime ,其时间设置为12:00:00AM

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM