C#DatePicker验证日期

时间:2015-12-17 22:56:35

标签: c# datepicker

DatePicker允许选择日期。

更新: 我想强制DatePicker只允许输入为dd / mm / yyyy。因此,如果用户试图进入" 2015年12月21日"它不允许它。

我在.NET Framework 4.5中

3 个答案:

答案 0 :(得分:1)

要捕获输入DatePicker的文本不是有效日期格式的情况,您应该处理DateValidationError event。如果格式不可接受,您将获得System.FormatException

要将下拉日历限制为当前年份,您可以设置DisplayDateStartDisplayDateEnd属性 - 但这并不能阻止您在文本框中输入其他日期。

MyDatePicker.DisplayDateStart = new DateTime(DateTime.Now.Year, 1, 1);
MyDatePicker.DisplayDateEnd = new DateTime(DateTime.Now.Year, 12, 31);

要将DatePicker限制为当前年份,请设置BlackoutDates property以排除当前年份以外的所有日期。例如:

// Exclude all dates before the start of this year
MyDatePicker.BlackoutDates.Add(
   new CalendarDateRange(DateTime.MinValue, new DateTime(DateTime.Now.Year - 1, 12, 31)));
// Exclude all dates after the end of this year
MyDatePicker.BlackoutDates.Add(
   new CalendarDateRange(new DateTime(DateTime.Now.Year + 1, 1, 1), DateTime.MaxValue));

属于有效格式化的日期属于其中一个中断日期范围将导致ArgumentOutOfRangeException传递给DateValidationError事件处理程序

答案 1 :(得分:0)

使用以下代码:

type

答案 2 :(得分:0)

尝试此操作以验证从今天到30天之间的日期范围。

System.DateTime today = System.DateTime.Today;

this.DateTimePicker.MinDate = new System.DateTime(today.Year, today.Month, today.Day);

this.DateTimePicker.MaxDate = today.AddDays(30);