月历 - 禁用天数

本文关键字:月历 | 更新日期: 2023-09-27 18:34:05

我正在用Visual Studio用C#做一个应用程序,我正在使用Windows Forms。我需要用户能够从特定范围内选择一个日期(为此我使用 MinDateMaxDate ),并且仅在一周中的某些日子。例如,我想禁用星期一。我正在使用MonthCalendar,但我还没有找到禁用一周中几天的方法......可能吗?

月历 - 禁用天数

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

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 属性使有效选择更加明显。

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

内置控件仅提供开箱即用的这么多选项。若要禁用一周中的某些日期,您需要编写自己的控件。

一旦开始编写自定义控件并遇到困难,就可以在此处发布代码和问题,人们会提供帮助。