Blablablaster
Blablablaster

Reputation: 3348

Make DateTimePicker work as TimePicker only in WinForms

How to restrict DateTimePicker to select the time only? I don't know how to disable calendar control which drops when you press the button at the right of DateTimePicker.

Upvotes: 94

Views: 130722

Answers (6)

Peter
Peter

Reputation: 48958

A snippet out of the MSDN:

'The following code sample shows how to create a DateTimePicker that enables users to choose a time only.'

timePicker = new DateTimePicker();
timePicker.Format = DateTimePickerFormat.Time;
timePicker.ShowUpDown = true;

And for anyone who wants to know what it looks like:

enter image description here

Upvotes: 164

The best way to do this is this:

datetimepicker.Format = DatetimePickerFormat.Custom;
datetimepicker.CustomFormat = "HH:mm tt";
datetimepicker.ShowUpDowm = true;

Upvotes: 2

sgupta
sgupta

Reputation: 565

If you want to do it from properties, you can do this by setting the Format property of DateTimePicker to DateTimePickerFormat.Time and ShowUpDown property to true. Also, customFormat can be set in properties.

Upvotes: 3

Nagaraju Mengani
Nagaraju Mengani

Reputation: 217

Add below event to DateTimePicker

Private Sub DateTimePicker1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles DateTimePicker1.KeyPress
    e.Handled = True
End Sub

Upvotes: -2

Sverrir Sigmundarson
Sverrir Sigmundarson

Reputation: 2631

...or alternatively if you only want to show a portion of the time value use "Custom":

timePicker = new DateTimePicker();
timePicker.Format = DateTimePickerFormat.Custom;
timePicker.CustomFormat = "HH:mm"; // Only use hours and minutes
timePicker.ShowUpDown = true;

Upvotes: 50

SeeSharp
SeeSharp

Reputation: 2800

You want to set its 'Format' property to be time and add a spin button control to it:

yourDateTimeControl.Format = DateTimePickerFormat.Time;
yourDateTimeControl.ShowUpDown = true;

Upvotes: 15

Related Questions