{"id":116,"date":"2010-03-07T17:40:00","date_gmt":"2010-03-07T16:40:00","guid":{"rendered":"http:\/\/www.ms-mueller.ch\/wp\/?p=116"},"modified":"2010-03-07T17:40:00","modified_gmt":"2010-03-07T16:40:00","slug":"nullabledatetimepicker","status":"publish","type":"post","link":"https:\/\/www.ms-mueller.ch\/?p=116","title":{"rendered":"NullableDateTimePicker"},"content":{"rendered":"<p>Ich hatte heute das Problem das ich mit dem DateTimePicker einen Nothing wert darstellen wollte.  Der DateTimePicker hat eine so sch\u00f6ne Checkbox mit der man das Datum deaktivieren kann.  Wieso bei einem deaktiviertem nicht einfach ein Nothing als Value zur\u00fcckgegeben wird bleibt Microsofts Geheimnis.  Zum gl\u00fcck k\u00f6nnen wir das Control aber ableiten \ud83d\ude42<\/p>\n<pre class=\"brush:vb\">Public Class NullableDateTimePicker\n    Inherits DateTimePicker\n\n    Public Sub New()\n        MyBase.New()\n        InitializeComponent()\n    End Sub\n\n    Public Shadows Property Value() As Nullable(Of DateTime)\n         Get\n            If Not MyBase.Checked Then\n                Return Nothing\n            Else\n                Return New Nullable(Of DateTime)(MyBase.Value)\n            End If\n         End Get\n         Set(ByVal value As Nullable(Of DateTime))\n            If value.HasValue = False Then\n                MyBase.Value = DateTime.Now\n                MyBase.Checked = False\n            Else\n                MyBase.Value = value.Value\n                MyBase.Checked = True\n            End If\n        End Set\n    End Property\nEnd Class\n\n\n<\/pre>\n<p>Indem wir die Valueeigenschaft \u00fcberschreiben l\u00e4sst sich daraus ein richtig gutes Control machen \ud83d\ude42<\/p>\n<p>Gruss Marco<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich hatte heute das Problem das ich mit dem DateTimePicker einen Nothing wert darstellen wollte. Der DateTimePicker hat eine so sch\u00f6ne Checkbox mit der man das Datum deaktivieren kann. Wieso bei einem deaktiviertem nicht einfach ein Nothing als Value zur\u00fcckgegeben wird bleibt Microsofts Geheimnis. Zum gl\u00fcck k\u00f6nnen wir das Control aber ableiten \ud83d\ude42 Public Class [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-116","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/www.ms-mueller.ch\/index.php?rest_route=\/wp\/v2\/posts\/116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ms-mueller.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ms-mueller.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ms-mueller.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ms-mueller.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=116"}],"version-history":[{"count":0,"href":"https:\/\/www.ms-mueller.ch\/index.php?rest_route=\/wp\/v2\/posts\/116\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ms-mueller.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ms-mueller.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ms-mueller.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}