C#Datetimepicker出現問題及解決方法

前幾天公司用的物料管理系統出現了一個很奇怪的問題,具體的現象是:10月31號的那天,物流部的人由於以前的問題,須要將以前已經結轉的9月份取消結轉。this


,當操做人員將10改變爲9的時候,出現問題了。程序直接崩潰,而且報了「年、月和日參數描述沒法表示的 DateTime」3d

這個錯誤。通過一系列的調試 與查資料文檔,發現是C#DatetimePicker這個控件自己的問題,具體緣由是DatetimePicker調試

 這個控件會在繪製的時候,默認將當前年月日做爲自己value,而後,若是他的屬性中的style設置爲只顯示年月的時候,若是貿然改變月份,他會有一個校驗機制。blog

 

校驗修改後的月份是否存在這一天。解決方法是:在窗體加載時候給空間賦予一個默認的value,考慮到業務邏輯的影響,定位當月一號爲默認日期。解決方法以下:事件

"新增窗體加載事件        
/// <summary>
/// 新增窗體加載事件,給窗體中兩個datepicker控件的value賦值
/// 賦的值爲當月一號
/// </summary>
/// <param name=""sender""></param>
/// <param name=""e""></param>
private void FrmMonthCarry_Load(object sender, EventArgs e)
{
    this.datePickerMonth.Value = DateTime.Now.AddDays(1 - DateTime.Now.Day);
    this.dateCancel.Value = this.datePickerMonth.Value;
 }"

文檔

相關文章
相關標籤/搜索