C# datetimepicker 如果今天等于则勾选复选框,否则不勾选 checked/uncheck
C# datetimepicker if equals today then tick checkbox, else not checked/uncheck
我正在尝试设置一个复选框 (notTodayCheckBox
),如果日期时间选择器 (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
中有一个时间元素,也许您的日期选择器设置在不同的时间,即使是一秒钟也会使它们不相等。
如果你只是在约会之后而不关心时间。
将 check
和 DateTime.Now
转换为 ShortDateString()
它会将两者都视为 string
,格式为 mm/dd/yyyy
check.ToShortDateString() == DateTime.Now.ToShortDateString()
或根据 René Vogt
check.Date == DateTime.Today
或 DateTime.Now.Date
两者都将 return DateTime
时间设置为 12:00:00AM
我正在尝试设置一个复选框 (notTodayCheckBox
),如果日期时间选择器 (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
中有一个时间元素,也许您的日期选择器设置在不同的时间,即使是一秒钟也会使它们不相等。
如果你只是在约会之后而不关心时间。
将 check
和 DateTime.Now
转换为 ShortDateString()
它会将两者都视为 string
,格式为 mm/dd/yyyy
check.ToShortDateString() == DateTime.Now.ToShortDateString()
或根据 René Vogt
check.Date == DateTime.Today
或 DateTime.Now.Date
两者都将 return DateTime
时间设置为 12:00:00AM