C#中將dateTimePicker初始值設定為空白

來源:互聯網
上載者:User

標籤:多次   點擊   select   bug   條件   事件   表單   first   相對   

最近在做一個小項目,有一個功能是根據使用者選擇條件查詢資料,要求時間控制項的預設值為空白,只有當使用者修改了時間,才根據時間查詢。簡單的說,就是預設或者點擊清空按鈕的情況下,時間控制項dateTimePicker的值為空白,當觸發事件ValueChanged時再顯示相對應的時間。

開始,我以為修改控制項的預設值為空白就可以了,但是我失敗了,dateTimePicker不允許空值。嘗試了很多次之後我開始在網上找資料,尋到了如下方法:

表單初始化或者放一個清空按鈕,點擊清空按鈕時執行如下代碼:

C#代碼 :
this. dateTimePicker1.Format = DateTimePickerFormat.Custom;this. dateTimePicker2.CustomFormat = "";

然後在DateTimePicker控制項的事件 dtp_firsttime_ValueChanged中執行如下代碼:

 

C#代碼:
 this. dateTimePicker1.Format = DateTimePickerFormat.Long; this. dateTimePicker1.CustomFormat = null;

 這樣做確實能讓控制項dateTimePicker1的初始值為空白,但是存在一個bug,那就是第一次選擇時間時,如果選擇的恰好是預設的時間,那麼將無法觸發事件dtp_firsttime_ValueChanged ,即dateTimePicker1的值依然為空白。這個問題很棘手,查閱很多資料無果之後繼續細細研究dateTimePicker,發現了這樣一個屬性:Checked——當ShowSelectBox為true時,確定是否選中複選框,以指示使用者已經選擇了某個值。於是,我在表單初始化或點擊清空按鈕的代碼中更改了屬性Checked的值,即添加如下代碼:

C#代碼:
this.dtp_firsttime.Checked = false;

這樣bug便解決了。

 

出處:http://1454396751.iteye.com/blog/2276801

C#中將dateTimePicker初始值設定為空白

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.