Ich hatte heute das Problem das ich mit dem DateTimePicker einen Nothing wert darstellen wollte. Der DateTimePicker hat eine so schöne Checkbox mit der man das Datum deaktivieren kann. Wieso bei einem deaktiviertem nicht einfach ein Nothing als Value zurückgegeben wird bleibt Microsofts Geheimnis. Zum glück können wir das Control aber ableiten 🙂
Public Class NullableDateTimePicker Inherits DateTimePicker Public Sub New() MyBase.New() InitializeComponent() End Sub Public Shadows Property Value() As Nullable(Of DateTime) Get If Not MyBase.Checked Then Return Nothing Else Return New Nullable(Of DateTime)(MyBase.Value) End If End Get Set(ByVal value As Nullable(Of DateTime)) If value.HasValue = False Then MyBase.Value = DateTime.Now MyBase.Checked = False Else MyBase.Value = value.Value MyBase.Checked = True End If End Set End Property End Class
Indem wir die Valueeigenschaft überschreiben lässt sich daraus ein richtig gutes Control machen 🙂
Gruss Marco
Schreibe einen Kommentar