C# MonthCalendar-禁用天数

C# MonthCalendar-禁用天数,c#,winforms,monthcalendar,C#,Winforms,Monthcalendar,我正在用visualstudio用C编写一个应用程序,我正在使用Windows窗体。我需要用户能够选择一个日期,从一个特定的范围为这个我使用MinDate和MaxDate,只有几天的一周。例如,我想禁用星期一。我正在使用MonthCalendar,但我还没有找到一种方法来禁用一周中的几天。。。可能吗?简短的回答是“否”。您可以添加一个验证事件,以检查选择了一周中的哪一天 内置控件只提供了这么多现成的选项。要禁用一周中的某些天,您需要编写自己的控件 一旦您开始编写自定义控件并陷入困境,您可以在此处

我正在用visualstudio用C编写一个应用程序,我正在使用Windows窗体。我需要用户能够选择一个日期,从一个特定的范围为这个我使用MinDate和MaxDate,只有几天的一周。例如,我想禁用星期一。我正在使用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属性可以使有效的选择更加明显。

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

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。因为没有可视提示,所以无法在控件的UI上选择此日期,请考虑工具提示和设置粗体、背景等。+ 1。因为没有可视提示,所以不能在控件的UI上选择此日期,请考虑工具提示和设置粗体、背景等。