C#中Datetimepicker出現(xiàn)問題的解決方法
發(fā)現(xiàn)問題
DateTimePicker控件是用來顯示和修改日期時(shí)間的,但默認(rèn)只顯示日期和修改日期。最近在使用中就遇到了一個(gè)問題,下面來隨著小編一起看看吧
前幾天公司用的物料管理系統(tǒng)出現(xiàn)了一個(gè)很奇怪的問題
具體的現(xiàn)象是:
10月31號(hào)的那天,物流部的人因?yàn)橹暗膯栴},需要將之前已經(jīng)結(jié)轉(zhuǎn)的9月份取消結(jié)轉(zhuǎn)。
,當(dāng)操作人員將10改變?yōu)?的時(shí)候,出現(xiàn)問題了。程序直接崩潰,并且報(bào)了“年、月和日參數(shù)描述無法表示的 DateTime”
這個(gè)錯(cuò)誤。經(jīng)過一系列的調(diào)試 與查資料文檔,發(fā)現(xiàn)是C#DatetimePicker這個(gè)控件本身的問題,具體原因是DatetimePicker
這個(gè)控件會(huì)在繪制的時(shí)候,默認(rèn)將當(dāng)前年月日作為本身value,然后,如果他的屬性中的style設(shè)置為只顯示年月的時(shí)候,如果貿(mào)然改變?cè)路?,他?huì)有一個(gè)校驗(yàn)機(jī)制。
校驗(yàn)修改后的月份是否存在這一天。解決方法是:在窗體加載時(shí)候給空間賦予一個(gè)默認(rèn)的value,考慮到業(yè)務(wù)邏輯的影響,定位當(dāng)月一號(hào)為默認(rèn)日期。
解決方法如下:
"新增窗體加載事件 /// <summary> /// 新增窗體加載事件,給窗體中兩個(gè)datepicker控件的value賦值 /// 賦的值為當(dāng)月一號(hào) /// </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é)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
利用C#實(shí)現(xiàn)將小數(shù)值四舍五入為整數(shù)
在項(xiàng)目的開發(fā)中,遇到一些除法計(jì)算內(nèi)容會(huì)產(chǎn)生小數(shù)值,但是又需要根據(jù)項(xiàng)目的實(shí)際情況將這些小數(shù)內(nèi)容化為整數(shù),所以本文為大家整理了C#實(shí)現(xiàn)將小數(shù)值四舍五入為整數(shù)的方法,希望對(duì)大家有所幫助2023-07-07wpf將表中數(shù)據(jù)顯示到datagrid示例
這篇文章主要介紹了wpf將表中數(shù)據(jù)顯示到datagrid示例,需要的朋友可以參考下2014-02-02C#實(shí)現(xiàn)托盤程序并禁止多個(gè)應(yīng)用實(shí)例運(yùn)行的方法
這篇文章主要介紹了C#實(shí)現(xiàn)托盤程序并禁止多個(gè)應(yīng)用實(shí)例運(yùn)行的方法,涉及C#中NotifyIcon控件的使用及設(shè)置標(biāo)志位控制程序只運(yùn)行一個(gè)的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11C#創(chuàng)建壓縮文件的實(shí)現(xiàn)代碼
本篇文章主要介紹了C# 創(chuàng)建壓縮文件的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05