自定义Datetimepicker,允许启用/禁用某些日期

时间:2014-12-02 08:32:50

标签: c# .net winforms custom-controls datetimepicker

我需要开发一个自定义DateTimePicker,允许我启用/禁用日历中的某些日期,以允许/禁止用户选择它们。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您可以在DatePicker中设置黑天,也许这会有所帮助。

请参阅文档DatePicker.BlackoutDates

答案 1 :(得分:0)

您可以处理ValueChanged事件以手动处理日期验证。请参阅MSDN doc

这样的事情就是诀窍:

private void DateTimePicker_ValueChanged(Object sender, EventArgs e) 
{
    var selectedDate = this.DateTimePicker.Value;
    if (this.DateIsForbidden(selectedDate))
    {
        var forcedDate = this.GetAllowedDate(selectedDate);
        this.DateTimePicker.Value = forcedDate;
        MessageBox.Show(string.Format("Date {0} is not allowed. {1} selected instead", selectedDate, forcedDate));
    }
}