發(fā)現(xiàn)問題
DateTimePicker控件是用來顯示和修改日期時間的,但默認(rèn)只顯示日期和修改日期。最近在使用中就遇到了一個問題,下面來隨著小編一起看看吧
前幾天公司用的物料管理系統(tǒng)出現(xiàn)了一個很奇怪的問題
具體的現(xiàn)象是:
10月31號的那天,物流部的人因為之前的問題,需要將之前已經(jīng)結(jié)轉(zhuǎn)的9月份取消結(jié)轉(zhuǎn)。
,當(dāng)操作人員將10改變?yōu)?的時候,出現(xiàn)問題了。程序直接崩潰,并且報了“年、月和日參數(shù)描述無法表示的 DateTime”
這個錯誤。經(jīng)過一系列的調(diào)試 與查資料文檔,發(fā)現(xiàn)是C#DatetimePicker這個控件本身的問題,具體原因是DatetimePicker
這個控件會在繪制的時候,默認(rèn)將當(dāng)前年月日作為本身value,然后,如果他的屬性中的style設(shè)置為只顯示年月的時候,如果貿(mào)然改變月份,他會有一個校驗機(jī)制。
校驗修改后的月份是否存在這一天。解決方法是:在窗體加載時候給空間賦予一個默認(rèn)的value,考慮到業(yè)務(wù)邏輯的影響,定位當(dāng)月一號為默認(rèn)日期。
解決方法如下:
"新增窗體加載事件 /// <summary>/// 新增窗體加載事件,給窗體中兩個datepicker控件的value賦值/// 賦的值為當(dāng)月一號/// </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;}"
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網(wǎng)的支持。
新聞熱點
疑難解答