2013-10-06 37 views
1

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

回答

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

+0

+1。并且由于在控件的用户界面上没有“无法选择此日期”的视觉线索,请考虑提示并设置粗体,背景等。 – radarbob