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?
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.
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
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;
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.
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
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
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.