2008-11-12 69 views

回答

5

這是一個有趣的article on CodeProject。作者有重寫了Value屬性以接受空值作爲DateTime.MinValue,同時保持標準控件的MinValue和MaxValue的驗證。這就是它的全部。

+1

是Grazoli先生的NullableDateTimePicker確實,雖然我認爲有人應該檢討它和嘗試,並擺脫那些醜陋的WndProc做的工作需要對代碼 – Calanus 2009-07-18 07:19:37

+0

的另一件事是它似乎沒有做它應該做的事情。我不知道,也許我做錯了什麼。沒有太多時間花時間去搞亂它。使用DTP ShowCheckBox的想法看起來更有希望。 – IAbstract 2010-11-24 23:13:35

4

放置一個附加複選框,標記爲啓用/禁用DateTimePicker的「啓用通知」。

0

的ShowCheckBox屬性設置爲true。 然後你就可以按如下方式使用Checked屬性:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e) 
     { 
      DateTimePicker thisDateTimePicker = (DateTimePicker)sender; 
      if (thisDateTimePicker.Checked == false) 
      { 
       thisDateTimePicker.CustomFormat = @" "; //space 
       thisDateTimePicker.Format = DateTimePickerFormat.Custom; 
      } 
      else 
      { 
       thisDateTimePicker.Format = DateTimePickerFormat.Short; 
      } 
     }