DateTimePicker (Nullable)

No começo da carreira, algumas vezes tentei procurar algum componente para winforms que conseguisse mostrar corretamente valores DateTime?.  Nunca encontrei nada por ser algo simples de se fazer, mas na época, pra mim era difícil. 

Abaixo segue o código do Componente de forma bem simples.

DateTimePickerNullable
  1. public class DateTimePickerNullable : System.Windows.Forms.DateTimePicker
  2. {
  3.     public DateTimePickerNullable()
  4.         : base()
  5.     { base.ShowCheckBox = true; }
  6.  
  7.     public new bool ShowCheckBox { get { return true; } }
  8.  
  9.     public new DateTime? Value
  10.     {
  11.         get
  12.         {
  13.             if (this.Checked)
  14.                 return base.Value;
  15.  
  16.             return null;
  17.         }
  18.         set
  19.         {
  20.             base.Value = value ?? base.MinDate;
  21.  
  22.             if (value == null)
  23.                 this.Checked = false;
  24.         }
  25.     }
  26. }

  1. Deixe um comentário

Deixe um comentário