我正在尝试一个复选框(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;
}
}
答案 0 :(得分:2)
DateTime.Now
中包含一个时间元素,也许您的日期选择器设置为不同的时间,即使一秒钟也会使它们不相等。
如果您只是在约会之后而不在乎时间。
将check
和DateTime.Now
转换为ShortDateString()
它将两者都视为string
,格式为mm/dd/yyyy
check.ToShortDateString() == DateTime.Now.ToShortDateString()
或根据RenéVogt
check.Date == DateTime.Today
或DateTime.Now.Date
两者都将返回DateTime
,时间设置为12:00:00AM