c# - C# datetimepicker 如果等于今天然后勾选复选框,否则不选中/取消选中
问题描述
我试图有一个复选框 ( 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
有一个时间元素,也许你的日期选择器设置在不同的时间,即使一秒钟也会使它们不相等。
如果您只是在约会之后而不关心时间。
转换为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
推荐阅读
- python - 在python中优化指数曲线拟合
- php - 如何在 Laravel 中创建插件系统
- docker - Yaws 中的重定向在 docker 堆栈中做了什么?
- sqlalchemy - 如何在不更改数据库的情况下获取默认约束名称?
- kubernetes - AKS 元数据的区域信息存在差异
- php - 找不到.php时htacces错误的配置
- sql - SQL 查找每个国家的 2 个最高分
- c# - 在 Visual Studio 中将本地项目重新同步到 GitHub 存储库
- c++ - 如何调试从 C++ 调用的 rust 静态库
- python - 无法查询任务 ':app:compileDebugJavaWithJavac' 属性 'options.generatedSourceOutputDirectory' 的值