2014-12-02 73 views
0

我需要開發一個自定義DateTimePicker,這將允許我啓用/禁用日曆中的某些日期,以允許/禁止用戶選擇它們。自定義Datetimepicker,將允許啓用/禁用某些日期

任何人都可以幫忙嗎?

+0

那你試試?顯示一些代碼。 – Askolein 2014-12-02 08:38:33

+0

有一個例子在techpower - http://www.techpowerup.com/forums/threads/a-custom-datetimepicker-control-in-c.70925/#post-968501 但它需要一個自定義的月曆控制 - http://www.techpowerup.com/forums/threads/a-modified-monthcalendar-control-in-c.70554/#post-962455 但我有一個查詢。 – Dhanashree 2014-12-02 08:42:02

回答

0

你可以在DatePicker中設置blackdays,也許有幫助。

查看文檔DatePicker.BlackoutDates

+0

上面的代碼是針對WPF的。我想要winforms。 – Dhanashree 2014-12-02 08:40:57

+0

灰色日期似乎不可能,看到這個解決方案http://stackoverflow.com/questions/19214940/monthcalendar-disable-days(不能回答上述聲譽原因) – 2014-12-02 08:56:21

+0

嗯,我決定使用wpf控制在winforms :)謝謝:D – Dhanashree 2014-12-02 09:47:56

0

您可以處理ValueChanged事件手動處理您的日期驗證。請參閱MSDN doc

事情是這樣的意願的伎倆:

private void DateTimePicker_ValueChanged(Object sender, EventArgs e) 
{ 
    var selectedDate = this.DateTimePicker.Value; 
    if (this.DateIsForbidden(selectedDate)) 
    { 
     var forcedDate = this.GetAllowedDate(selectedDate); 
     this.DateTimePicker.Value = forcedDate; 
     MessageBox.Show(string.Format("Date {0} is not allowed. {1} selected instead", selectedDate, forcedDate)); 
    } 
} 
+0

是的,但我們想要灰化日期,以便該用戶不會選擇它們,並且不會發生任何值更改事件,用戶應該能夠識別它被禁用。 – Dhanashree 2014-12-02 08:46:54