如何在datetimepicker中修复最小和最大日期(Windows应用程序) [英] How to fix minimum and maximum date in datetimepicker(windows application)

查看:273
本文介绍了如何在datetimepicker中修复最小和最大日期(Windows应用程序)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在c#中修复datetimepicker(windows应用程序)中的最小和最大日期。

我们可以选择任何年份和日期,但限制仅限于月份。

例如:如果我们选择2017年,那么月份可以限制从2017年4月到2018年3月。



我尝试过:



int year = dateTimePicker1.Value.Year;

dateTimePicker1.MinDate = new DateTime(year,04,01);

dateTimePicker1.MaxDate = new DateTime(年+ 1,03,31);



但是此代码出错,我们如何从这里选择不同年份,

plz help

解决方案

为什么要在 ValueChanged 处理程序中调用它?

它可能无法按预期工作,因为每次用户更改其中一个选择器字段时它都会更改。



但是,错误信息是很清楚:

传递的日期是在实际的 MaxDate 设置之后。



这可以通过首先将 MinDate 设置为 MinDateTime 来避免 MaxDate ,最后使用新的 MinDate

 dateTimePicker1.MinDate = DateTimePicker.MinDateTime; 
dateTimePicker1.MaxDate = new DateTime(年+ 1, 03 31 );
dateTimePicker1.MinDate = new DateTime(年, 04 01 );


how to fix minimum and maximum date in datetimepicker(windows application)in c#.
do we can select any year and day but the restriction only in month.
ex: if we select year 2017, then month can be restricted from 2017 april to 2018 march.

What I have tried:

int year = dateTimePicker1.Value.Year;
dateTimePicker1.MinDate = new DateTime(year,04, 01);
dateTimePicker1.MaxDate = new DateTime(year+1, 03, 31);

but this code get error,how can we select different year from here,
plz help

解决方案

Why you are calling this in the ValueChanged handler?
It might not work as expected because it is changed everytime the user changes one of the picker fields.

However, the error message is quite clear:
The passed date is after the actual MaxDate setting.

This can be avoided by setting MinDate first to MinDateTime, then MaxDate, and finally the new MinDate to be used:

dateTimePicker1.MinDate = DateTimePicker.MinDateTime;
dateTimePicker1.MaxDate = new DateTime(year+1,03,31);
dateTimePicker1.MinDate = new DateTime(year,04, 01);


这篇关于如何在datetimepicker中修复最小和最大日期(Windows应用程序)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆