How to assign nullable value in WinForms DateTimePicker (DateTimePickerAdv)?
Null value
In DateTimePickerAdv, Value property holds its DateTime information and not a Nullable type. In case if user would like to assign/maintain Nullable value in DateTimePickerAdv. It is possible to create a Custom control derived from DateTimePickerAdv and implement a property that helps to hold Nullable value. Please make use of below MSDN article for further reference about Nullable datatype.
Link: https://msdn.microsoft.com/en-us/library/system.nullable(v=vs.110).aspx
Following code examples demonstrates the same.
C#
private Nullable<DateTime> m_DateTimeValue = DateTime.Now; /// <summary> /// Gets/Sets the value of the DateTimePickerExt /// </summary> public Nullable<DateTime> ValueExt { get { return m_DateTimeValue; } set { m_DateTimeValue = value; if (value != null) { this.Value = m_DateTimeValue.Value; } } } void DateTimePickerExt_ValueChanged(object sender, EventArgs e) { if(CheckNoneButtonClicked == false) this.ValueExt = this.Value; CheckNoneButtonClicked = false; }
VB
Private m_DateTimeValue? As DateTime = DateTime.Now ''' <summary> ''' Gets/Sets the value of the DateTimePickerExt ''' </summary> Public Property ValueExt() As DateTime? Get Return m_DateTimeValue End Get Set(ByVal value? As DateTime) m_DateTimeValue = value If value IsNot Nothing Then Me.Value = m_DateTimeValue.Value End If End Set End Property``` Private Sub DateTimePickerExt_ValueChanged(ByVal sender As Object, ByVal e As EventArgs) If CheckNoneButtonClicked = False Then Me.ValueExt = Me.Value End If CheckNoneButtonClicked = False End Sub
Figure 1. Set Null to the Value property in DateTimePickerAdv with image.
Samples:
C#: How to assign the Value as null in DateTimePickerAdv C#?
VB: How to assign the Value as null in DateTimePickerAdv VB?