Imports System.ComponentModel Public Class myDateTimePicker Inherits System.Windows.Forms.DateTimePicker Private m_FormatString As String = "" Public Sub New() m_FormatString = MyBase.CustomFormat End Sub _ Public Shadows Property Value() As Object Get If MyBase.Checked Then Return MyBase.Value Else Return DBNull.Value End If End Get Set(ByVal value As Object) Try If Trim(MyBase.CustomFormat) <> "" Then If MyBase.CustomFormat <> "g" Then m_FormatString = MyBase.CustomFormat End If End If If Convert.IsDBNull(value) Then MyBase.Checked = False MyBase.CustomFormat = "g" Else MyBase.Value = Convert.ToDateTime(value) MyBase.Checked = True MyBase.CustomFormat = m_FormatString End If Catch ex As Exception MyBase.Value = Convert.ToDateTime(value) MyBase.Checked = True End Try End Set End Property Protected Overrides Sub OnEnter(ByVal e As System.EventArgs) MyBase.OnEnter(e) If MyBase.Checked = False Then MyBase.CustomFormat = m_FormatString MyBase.Checked = True End If End Sub Protected Overrides Sub OnValueChanged(ByVal eventargs As System.EventArgs) MyBase.OnValueChanged(eventargs) If MyBase.Checked = False Then MyBase.CustomFormat = m_FormatString MyBase.Checked = True End If End Sub Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs) MyBase.OnKeyPress(e) End Sub