当前位置: 首页 > news >正文

WinForm真入门(18)——DateTimePicker‌控件解析

一、基本概念‌

‌DateTimePicker‌ 是 Windows 窗体中用于选择日期和时间的控件,支持以下交互方式

  • 通过下拉日历选择日期
  • 通过上下按钮调整时间
  • 直接输入日期或时间
    适用于需要规范日期格式、限制日期范围或快速输入的场景(如预约系统、数据筛选)。

‌二、核心属性‌

属性描述示例/默认值
‌Value‌当前选中的日期/时间(默认当前系统时间)DateTime.Now
‌MinDate‌允许选择的最小日期MinDate = new DateTime(2000,1,1)
‌MaxDate‌允许选择的最大日期MaxDate = DateTime.Today
‌Format‌显示格式(Long/Short/Time/Custom)Format = DateTimePickerFormat.Custom
‌CustomFormat‌自定义显示格式(需配合 Format 属性)CustomFormat = “yyyy-MM-dd HH:mm”
‌ShowCheckBox‌显示复选框(用于允许空值)ShowCheckBox = true
‌ShowUpDown‌用上下按钮替代下拉日历(适用于时间选择)ShowUpDown = true

‌三、常用方法‌

1‌、事件 ValueChanged‌
当用户修改日期/时间时触发,常用于实时更新界面。

dateTimePicker1.ValueChanged += (s, e) => {label1.Text = "选择日期:" + dateTimePicker1.Value.ToString("yyyy-MM-dd");
};

2、‌设置自定义格式‌

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MMMM dd, yyyy"; // 如 "April 27, 2025" :ml-citation{ref="6,8" data="citationList"}

3、‌验证日期范围‌

if (dateTimePicker1.Value < dateTimePicker1.MinDate) {MessageBox.Show("日期不能早于最小值!");
}

‌四、典型使用案例‌

  • 限制日期选择范围‌
dateTimePicker1.MinDate = new DateTime(2000, 1, 1);
dateTimePicker1.MaxDate = DateTime.Today.AddDays(30); // 允许选择未来30天 :ml-citation{ref="3,8" data="citationList"}
  • 时间选择模式‌
dateTimePicker1.Format = DateTimePickerFormat.Time;
dateTimePicker1.ShowUpDown = true;  // 使用上下按钮调整时间 :ml-citation{ref="1,3" data="citationList"}
  • ‌空值处理(结合复选框)‌
dateTimePicker1.ShowCheckBox = true;
dateTimePicker1.Checked = false;  // 初始未选中,值为 null
http://www.xdnf.cn/news/179731.html

相关文章:

  • 13.组合模式:思考与解读
  • MCP实战-本地MCP Server + Client实战
  • 创建一个开机自启的服务
  • 题海拾贝:P2858 [USACO06FEB] Treats for the Cows G/S
  • 大模型图像编辑那家强?
  • 多模态常见面试题
  • 新魔百和CM311-5_CH/YST/ZG代工_GK6323V100C_2+8G蓝牙版_强刷卡刷固件包(可救砖)
  • SpringMVC 前后端数据交互 中文乱码
  • 【深度剖析】贵州茅台的数字化转型(2025)(上篇)
  • 第7章 内部类与异常类
  • 【蓝桥杯省赛真题57】Scratch穿越病毒区 蓝桥杯scratch图形化编程 中小学生蓝桥杯省赛真题讲解
  • Vue.js 核心特性解析:响应式原理与组合式API实践
  • 论文检索相关网站
  • ‌RISC-V架构的低功耗MCU多电压域优化设计
  • final static 中是什么final static联合使用呢
  • 【算法刷题】
  • MySQL 8.0 忘记登录密码 mysqld --init-file重置
  • AG32 MCU系列三合一芯片,MCU+ 2K cpld + 64Mbit PSRAM,一颗芯片同时满足多种需求。
  • 清华团队提出时序聚类数据库内高效方案,已被SIGMOD 2025接收
  • 【Tools】chezmoi 跨多台不同的机器管理 dotfiles 的工具
  • 缓存并发更新的挑战
  • Python生活手册-元组:保险柜与瑞士军刀
  • 基于javaweb的SpringBoot新闻发布系统设计与实现(源码+文档+部署讲解)
  • 业务中台与数据中台:企业数字化转型的核心引擎
  • 解决qnn htp 后端不支持boolean 数据类型的方法。
  • C语言-- 深入理解指针(4)
  • 学习spark总结
  • 基于SSM的“融资租赁管理系统”的设计与实现(源码+数据库+文档)
  • QT开发技术【QChart添加跟随鼠标的十字线】
  • 信号量函数