我需要禁用DateTimePicker中的某些日期,這有可能嗎? 例如,我有一個日期範圍:{20/12/2014,21/12/2014,22/12/2014,23/12/2014,24/12/2014} 我需要禁用midle one或在其他情況下,最後一個,任何人都可以幫助我?在datetimepicker winform c中禁用一些日期#
dateTimePicker1.MainDate和dateTimePicker1.MaxDate是不夠的。
謝謝。
我需要禁用DateTimePicker中的某些日期,這有可能嗎? 例如,我有一個日期範圍:{20/12/2014,21/12/2014,22/12/2014,23/12/2014,24/12/2014} 我需要禁用midle one或在其他情況下,最後一個,任何人都可以幫助我?在datetimepicker winform c中禁用一些日期#
dateTimePicker1.MainDate和dateTimePicker1.MaxDate是不夠的。
謝謝。
您可以指定最大日期,但不能在有效範圍內選擇性地禁用任意日期。
從.NET 4中開始,可以在WPF。然後,您可以將WPF datepicker
託管在Winforms應用程序中。 (從MSDN)的例子來禁用週六和週日:MSDN上
DatePicker datePickerWithBlackoutDates = new DatePicker();
datePickerWithBlackoutDates.DisplayDateStart = new DateTime(2009, 8, 1);
datePickerWithBlackoutDates.DisplayDateEnd = new DateTime(2009, 8, 31);
datePickerWithBlackoutDates.SelectedDate = new DateTime(2009, 8, 10);
datePickerWithBlackoutDates.BlackoutDates.Add(
new CalendarDateRange(new DateTime(2009, 8, 1), new DateTime(2009, 8, 2)));
datePickerWithBlackoutDates.BlackoutDates.Add(
new CalendarDateRange(new DateTime(2009, 8, 8), new DateTime(2009, 8, 9)));
datePickerWithBlackoutDates.BlackoutDates.Add(
new CalendarDateRange(new DateTime(2009, 8, 15), new DateTime(2009, 8, 16)));
datePickerWithBlackoutDates.BlackoutDates.Add(
new CalendarDateRange(new DateTime(2009, 8, 22), new DateTime(2009, 8, 23)));
datePickerWithBlackoutDates.BlackoutDates.Add(
new CalendarDateRange(new DateTime(2009, 8, 29), new DateTime(2009, 8, 30)));
datePickerWithBlackoutDates.DateValidationError +=
new EventHandler<DatePickerDateValidationErrorEventArgs>(DatePicker_DateValidationError);
更多細節:http://msdn.microsoft.com/en-us/library/k7z0zy8k%28v=vs.110%29.aspx
我還沒有看到類似的話,將進行的WinForms是專門雖然。作爲一種解決方法,您可以將此WPF組件移植到Winforms應用程序中。
這裏有interopeartion WPF和WinForms的MSDN資源:
https://msdn.microsoft.com/en-us/library/ms751797(v=vs.100).aspx
因爲OP打算在WinForms中使用這個功能,所以我只是低估了這一點,但是Google的強大功能迫使我趕上了你。 [在WinForms中使用WPF控件](http://msdn.microsoft.com/en-us/library/ms742215%28v=vs.110%29.aspx) – AWinkle 2014-12-05 16:01:13
有一個鏈接在文章中添加到教程如何去做。以防萬一我會讓它看起來更清晰。 – PiotrWolkowski 2014-12-05 16:08:17
該鏈接似乎被打破... – 2016-01-06 11:16:50
雖然這是一個有點更多的工作,[彼得·Wolkowski的答案](http://stackoverflow.com/a/27319756/ 3191303)是使用純淨的.Net的一種體面的方法。否則@Anthony也會爲你找到一個有用的鏈接。 – AWinkle 2014-12-05 16:03:22
這個問題不應該被標記爲重複。他們所指的問題是接受質量低的問題。 – Szybki 2017-12-03 00:05:10