2013-10-06 68 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