Djo*_*olo 5 c# datepicker winforms
只是无法通过datepicker验证获得它.我有datepicker From和datepicker To,所以我想阻止用户做一些功夫和seting datepicker 从比datepicker To更大,我碰到了一些问题但找不到答案,所以我尝试做最简单的我能想到的方式:
设置MaxDate属性datepicker 来自于form_load事件
private void Form1_Load(object sender, EventArgs e)
{
datepickerFrom.MaxDate = datepickerFrom.Value;
}
Run Code Online (Sandbox Code Playgroud)
然后为value_changed事件做同样的事情
private void datepickerFrom_ValueChanged(object sender, EventArgs e)
{
datepickerFrom.MaxDate = datepickerFrom.Value;
}
Run Code Online (Sandbox Code Playgroud)
这很简单,只有几行代码,而且我只需要datepickerFrom_ValueChanged事件,但最近我尝试输入日期datepicker来选择它,然后一切都崩溃了.所以我找到了一些验证解决方案,而不是设置MaxDate属性,我试过这个.
private void dtFrom_ValueChanged(object sender, EventArgs e)
{
DateTime from = datepickerFrom.Value;
DateTime to = datepickerTo.Value;
int year= from.Year > to.Year ? to.Year : from.Year;
int month = from.Month > to.Month ? to.Month : from.Month;
int day = from.Day > to.Day ? to.Day : from.Day;
int hour = from.Hour > to.Hour ? to.Hour : from.Hour;
int minute = from.Minute > to.Minute ? to.Minute : from.Minute;
int second = from.Second > to.Second ? to.Second : from.Second;
//setting datepicker value
datepickerFrom.Value = new DateTime(year, month, day, hour, minute, second);
}
Run Code Online (Sandbox Code Playgroud)
这样做很好,但感觉有点头疼,而且我也必须为datepickerTO_ValueChanged活动做这件事,确定我可以做一个method并且两次打电话,但仍然觉得有一种更好的方式,所以任何建议?
感谢您的时间