# Properties

The significant properties for **RadDateTimePicker** are:

* **Value:** This is the date selected from the picker and can be set in code or from the drop down calendar in the `Properties` window.

## Setting the value of RadDateTimePicker

```C#
this.radDateTimePicker1.Value = DateTime.Today.AddDays(1);
```

```VB.NET
Me.RadDateTimePicker1.Value = DateTime.Now.AddDays(1)
```

* **MinDate, MaxDate:** These two dates form the bounds that dates can be selected from in the picker. Attempts to select outside these bounds are ignored. The example below sets the **MinDate** property to be the first day of the current month.

## Setting the MinDate property of RadDateTimePicker

```C#
this.radDateTimePicker1.MinDate = DateTime.Today.AddDays(-DateTime.Today.Day);
```

```VB.NET
Me.RadDateTimePicker1.MinDate = DateTime.Today.AddDays(-DateTime.Today.Day)
```

* **NullText:** This property defines the text that will be displayed in **RadDateTimePicker** when the **NullableValue** property is set to *null* and **RadDateTimePicker** is not in focus. By default, **NullText** is an empty string.

## Setting the NullText property of RadDateTimePicker

* **ShowTimePicker:** Gets or sets a value indicating whether the time picker is displayed alongside the calendar in the drop-down popup of **RadDateTimePicker**. The default value is *false*. When set to *true*, selecting a date in the calendar does not auto-close the popup, allowing the user to also select a time.

```C#
this.radDateTimePicker1.NullText = "No date selected";
```

```VB.NET
Me.RadDateTimePicker1.NullText = "No date selected"
```

* **ShowTimePicker:** this property determines the display of **TimePicker** in popup element of **RadDateTimePicker**.

```C#
this.radDateTimePicker1.DateTimePickerElement.ShowTimePicker = true;

```

```VB.NET
Me.radDateTimePicker1.DateTimePickerElement.ShowTimePicker = True

```

* **Format:** The **DateTimePickerFormat** enumeration values are **Long**, **Short**, **Time** and **Custom**. Set **Format** to **Custom** to enable the **CustomFormat** property.

* **CustomFormat:** A format string that determines the display of the date in the picker edit. See the [Internationalization](https://www.telerik.com/products/winforms/documentation/controls/editors/datetimepicker/internationalization/internationalization) and [Date Formats](https://www.telerik.com/products/winforms/documentation/controls/editors/datetimepicker/internationalization/date-formats) topic for more information.

* **Culture:** Determines the language that the drop down calendar and text box will display.  See the [Internationalization](https://www.telerik.com/products/winforms/documentation/controls/editors/datetimepicker/internationalization/internationalization) and [Date Formats](https://www.telerik.com/products/winforms/documentation/controls/editors/datetimepicker/internationalization/date-formats) topic for more information.

* **ThemeName:** Sets the overall look of the control. Choose from a list of predefined themes or create your own using the **Visual Style Builder** available from the RadDateTimePicker's **Smart Tag**.

* **CalendarSize:** Gets or sets the size of the drop-down popup in **RadDateTimePicker**. The default value is *new Size(100, 156)* which applies automatic sizing. Setting a custom value overrides the calculated drop-down dimensions.

## Setting the CalendarSize property of RadDateTimePicker

```C#
this.radDateTimePicker1.DateTimePickerElement.CalendarSize = new Size(300, 300);

```

```VB.NET
Me.radDateTimePicker1.DateTimePickerElement.CalendarSize = New Size(300, 300)

```

* **NullableValue** is same as the **Value** property, but the **NullableValue** property is of type *Nullable DateTime*. It can be *null* – in this case if **RadDateTimePicker** is not selected, it will show its **NullText**. In case **RadDateTimePicker** is selected, it will show the last entered date – this allows the end-user to enter and edit the date.

## Setting the NullableValue property of RadDateTimePicker

```C#
this.radDateTimePicker1.NullableValue = null;
```

```VB.NET
Me.RadDateTimePicker1.NullableValue = Nothing
```

**NullableValue** can be bound to a business object that exposes a property of type nullable DateTime. The code below demonstrates how to do this:

## Bind the NullableValue to a business object.

```C#
public class MyObject
{
    public MyObject(DateTime? _endTime)
    {
        this._endTime = _endTime;
    }

    private DateTime? _endTime;
    public DateTime? EndTime
    {
        get { return _endTime; }
        set { _endTime = value; }
    }
}

private BindingList<MyObject> myList;

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);

    myList = new BindingList<MyObject>();
    myList.Add(new MyObject(null));
    myList.Add(new MyObject(DateTime.Now));

    myList.RaiseListChangedEvents = true;

    this.radDateTimePicker1.DataBindings.Add(new Binding("NullableValue", this.myList, "EndTime", true, DataSourceUpdateMode.OnPropertyChanged));
}
```

```VB.NET
Public Class MyObject
    Public Sub New(ByVal _endTime? As Date)
        Me._endTime = _endTime
    End Sub

    Private _endTime? As Date
    Public Property EndTime() As Date?
        Get
            Return _endTime
        End Get
        Set(ByVal value? As Date)
            _endTime = value
        End Set
    End Property
End Class

Private myList As BindingList(Of MyObject)

Protected Overrides Sub OnLoad(ByVal e As EventArgs)
    MyBase.OnLoad(e)

    myList = New BindingList(Of MyObject)()
    myList.Add(New MyObject(Nothing))
    myList.Add(New MyObject(Date.Now))

    myList.RaiseListChangedEvents = True

    Me.RadDateTimePicker1.DataBindings.Add(New Binding("NullableValue", Me.myList, "EndTime", True, DataSourceUpdateMode.OnPropertyChanged))
End Sub
```

* **Editing Time in RadDateTimePicker**

To use **RadDateTimePicker** as date and time editor you need to enable the embedded **TimePicker** and set the desired mask that shows the time parts.

## Enable the time picker.

```C#
this.radDateTimePicker1.DateTimePickerElement.ShowTimePicker = true;
this.radDateTimePicker1.Format = DateTimePickerFormat.Custom;
this.radDateTimePicker1.CustomFormat = "MMM - dd - yyyy hh:mm tt";
(this.radDateTimePicker1.DateTimePickerElement.CurrentBehavior as RadDateTimePickerCalendar).DropDownMinSize = new System.Drawing.Size(330, 250);

```

```VB.NET
Me.radDateTimePicker1.DateTimePickerElement.ShowTimePicker = True
Me.radDateTimePicker1.Format = DateTimePickerFormat.[Custom]
Me.radDateTimePicker1.CustomFormat = "MMM - dd - yyyy hh:mm tt"
TryCast(Me.radDateTimePicker1.DateTimePickerElement.CurrentBehavior, RadDateTimePickerCalendar).DropDownMinSize = New System.Drawing.Size(330, 250)

```

## See Also

* [Design Time](https://www.telerik.com/products/winforms/documentation/controls/editors/datetimepicker/design-time)
* [Free Form Date Time Parsing](https://www.telerik.com/products/winforms/documentation/controls/editors/datetimepicker/free-form-date-time-parsing)
* [MaskDateTimeProvider](https://www.telerik.com/products/winforms/documentation/controls/editors/datetimepicker/maskdatetimeprovider)
* [Structure](https://www.telerik.com/products/winforms/documentation/controls/editors/datetimepicker/overview)
