DateTimePicker: choisir la date et l'heure

est-il possible d'utiliser DateTimePicker (Winforms) pour choisir la date et l'heure (dans la liste déroulante)? Comment changer l'affichage personnalisé de la valeur choisie? En outre, est-il possible de permettre à l'utilisateur de taper la date/heure manuellement?

129
demandé sur Grzenio 2008-09-18 19:15:37

7 réponses

définit le Format à Personnaliser puis spécifie le format:

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm:ss";  

ou comme vous voulez. Vous pouvez ensuite entrer directement la date/heure. Si vous utilisez MMM, vous aurez besoin d'utiliser la valeur numérique pour le mois pour l'entrée, sauf si vous écrivez un certain code vous-même pour cela (par exemple, 5 résultats en mai)

Ne savent pas à propos de le sélecteur de date et d'heure ensemble. Ça ressemble à un contrôle personnalisé pour moi.

172
répondu itsmatt 2016-12-16 09:51:19

il est préférable d'utiliser deux DateTimePickers pour le travail La première sera la valeur par défaut pour la section date et la Seconde DateTimePicker est pour la portion time. Formater le deuxième DateTimePicker comme suit.

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

Les Deux devrait ressembler à ceci après vous capturer

Two Date Time Pickers

pour obtenir le DateTime à partir de ces deux commandes utilisez le code suivant

DateTime myDate = datePortionDateTimePicker.Value.Date + 
                    timePortionDateTimePicker.Value.TimeOfDay; 

Pour attribuer le DateTime à ces deux contrôles, Utilisez le code suivant:

datePortionDateTimePicker.Value  = myDate.Date;  
timePortionDateTimePicker.Value  = myDate.TimeOfDay; 
45
répondu Vectoria 2015-06-08 10:22:14

malheureusement, c'est l'un des nombreux noms erronés dans le cadre, ou au mieux une violation de la PRS.

pour utiliser le DateTimePicker pour les temps, définissez la propriété Format à l'un ou l'autre temps ou personnalisé (utilisez personnalisé si vous voulez contrôler le format du temps en utilisant la propriété CustomFormat). Puis définissez la propriété ShowUpDown à true.

bien qu'un utilisateur puisse définir la date et l'heure ensemble manuellement, il ne peut pas utiliser L'interface graphique pour définir à la fois.

43
répondu Nescio 2008-09-18 15:31:37

DateTime Picker peut être utilisé pour choisir la date et l'heure c'est pourquoi elle est appelée "Date et Heure" Cueilleur. Vous pouvez définir la " Format "propriété de" "personnalisé " et définir la combinaison de différents spécificateurs de format pour représenter/choisir la date/heure dans différents formats dans la " format personnalisé " propriété. Cependant, si vous voulez changer la Date, alors le calendrier pop-up peut être utilisé alors que dans le cas de la sélection du temps (dans le même contrôle vous devez utiliser les touches HAUT/BAS pour changer les valeurs.

, Par exemple un format personnalisé " ddddd, jj MMMM aaaa hh:mm:ss tt "vous donnera un résultat de ce genre :" le jeudi, 20 août 2009 à 02:55:23 PM ".

vous pouvez jouer avec différentes combinaisons pour les spécificateurs de format pour convenir à votre besoin E. g MMMM donnera " août "attendu que MM donnera Aug

20
répondu Danish 2009-08-20 10:02:46

allez à la Properties de votre dateTimePicker dans Visual Studio et mettez Format à Custom . Sous CustomFormat entrez votre format. Dans mon cas, j'ai utilisé MMMMdd, yyyy | hh:mm

enter image description here

dateTimePickerProperties

9
répondu Serge Voloshenko 2017-01-10 22:32:56

vous pouvez l'obtenir pour afficher time . À partir de là, vous devrez probablement avoir deux contrôles (une date, une fois) l'accomplir ce que vous voulez.

1
répondu Craig 2008-09-18 15:35:17

je crains que le contrôle DateTimePicker n'ait pas la capacité de faire ces choses. C'est une assez basique (et frustrant!) contrôle. Votre meilleure option pourrait être de trouver un contrôle tiers qui fait ce que vous voulez.

pour l'option de dactylographier la date et l'heure manuellement, vous pouvez construire un composant personnalisé avec une combinaison TextBox/DateTimePicker pour accomplir ceci, et il pourrait fonctionner raisonnablement bien, si les contrôles tiers ne sont pas une option.

1
répondu Jeffrey L Whitledge 2008-09-18 15:35:44