MonthCalendar - 禁用天数

时间:2013-10-06 23:00:04

标签: c# winforms monthcalendar

我正在使用Visual Studio在C#中进行应用程序,而我正在使用Windows窗体。我需要用户能够从特定范围中选择日期(对于此我使用MinDateMaxDate),并且仅在一周中的某些天。例如,我想禁用星期一。我正在使用MonthCalendar,但我没有找到一种方法来禁用一周中的几天......是否可能?

2 个答案:

答案 0 :(得分:4)

您无法阻止用户在日历上选择日期。没有麻烦,但抱怨并提供更好的选择:

private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e) {
    if (e.Start.DayOfWeek == DayOfWeek.Monday) {
        MessageBox.Show("I hate mondays");
        monthCalendar1.SelectionStart = e.Start.AddDays(1);
    }
}

使用BoldedDates属性使有效选择更加明显。

答案 1 :(得分:0)

简短的回答是否定的。您可以添加一个验证事件,以检查选择了哪一天。

内置控件只提供开箱即用的选项。要禁用一周中的某些天,您需要编写自己的控件。

一旦你开始编写自定义控件并且卡住了,你可以在这里发布你的代码和问题,人们会帮助你。