2008-11-12 126 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; 
      } 
     }