Limiting the dates within a C# win form DateTimePicker

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-27 08:07:40

问题


Is it possible to limit which dates a user can select from a dateTimePicker on a C# winforms application?

The basic principle for me is this: I have a comboBox with 5 items in it, based on which item the user selects I would like to limit which dates the user can then select from, having the unavailable dates grayed out.

Is this possible?


回答1:


Use the MinDate and MaxDate properties.

dateTimePicker.MinDate = DateTime.Now;
dateTimePicker.MaxDate = DateTime.Now.AddDays(15);


(render on a french Windows 7)


回答2:


You can set a minimum and a maximum date for the C# WinForms DTP, so if thats what you wish to do, then you can use the MinValue and MaxValue variables. You can't pick and choose blocks of dates that are not allowed. This is something you would have to add yourself. There are 2 possible methods of doing this:

  • Handing the ValueChanged event, then validate the date chosen.
  • Inherit the DTP class and add some extra functionality in there.



回答3:


The DateTimePicker control has MaxDate and MinDate properties. Set those, and you can control the range of dates that can be selected. Currently on my Windows XP with Windows Classic theme the unselectable dates do not appear grayed, but this may vary depending on operating system, theme, etc. If you absolutely must gray them, then you will have to subclass the DateTimePicker control and do the (or part of the) painting yourself.




回答4:


Yes, at least MSDN says so. Refer here.




回答5:


You can set up the date restrictions in the following manner

dateTimePicker1.MinDate = DateTime.Today.AddDays(-2);
dateTimePicker1.MaxDate = DateTime.Today.AddDays(2);

In these case only the 5 available dates would be selectable for the user and the rest is not available. You could set up these values in the selectedindex changed event for the combobox and restrict it on the basis of your requirement/logic.



来源:https://stackoverflow.com/questions/8353801/limiting-the-dates-within-a-c-sharp-win-form-datetimepicker

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!