一、基本概念?
?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