Faire fonctionner DateTimePicker en tant que TimePicker uniquement dans WinForms

Comment restreindre DateTimePicker pour sélectionner uniquement l’heure? Je ne sais pas comment désactiver le contrôle du calendrier qui tombe lorsque vous appuyez sur le bouton à droite de DateTimePicker .

Un extrait de MSDN :

L’exemple de code suivant montre comment créer un DateTimePicker qui permet aux utilisateurs de choisir une heure uniquement.

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

… ou alternativement si vous voulez seulement afficher une partie de la valeur de temps, utilisez “Custom”:

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

Vous voulez définir sa propriété ‘Format’ comme étant du temps et lui append un contrôle de bouton rotatif:

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

Si vous voulez le faire à partir des propriétés, vous pouvez le faire en définissant la propriété Format de DateTimePicker sur DateTimePickerFormat.Time et la propriété ShowUpDown sur true . En outre, customFormat peut être défini dans les propriétés.

La meilleure façon de procéder est la suivante:

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

Ajouter l’événement ci-dessous à DateTimePicker

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