Question

J'ai défini les propriétés MaxDate et MinDate d'un DateTimePicker. Cependant, lorsque je teste le contrôle au moment de l'exécution, il n'existe aucun moyen de distinguer les dates non valides des dates valides. La seule différence est que cliquer sur une date invalide ne fait rien.

Ceci n’est pas très intuitif pour l’utilisateur. Je veux pouvoir dire en un coup d'œil quelles sont les dates valides.

Existe-t-il un moyen de mettre en évidence la plage de dates valide - ou plus précisément, de "dim" les dates non valides? Ou, existe-t-il un autre contrôle qui serait plus approprié? Je suis sûr que plusieurs boîtes à options fonctionnent, mais je pense vraiment que l'utilisateur devrait se voir présenter un contrôle de calendrier lorsqu'il lui est demandé une date.

CONTEXT: Ceci est une application de cartographie WinForms. La plage de données valides est fixée (les nouvelles données sont ajoutées via un autre processus). L'utilisateur doit choisir une date et une heure pour l'heure de début du graphique (ainsi qu'une durée traitée séparément).

Était-ce utile?

La solution

J'ai un problème similaire. J'ai étendu le contrôle DateTimePicker pour exécuter un processus de validation chaque fois que la valeur change et pour revenir à la valeur précédente ou à la valeur légale la plus proche en cas de choix illégal.

L’extension logique consiste à faire apparaître une boîte de dialogue ou une étiquette d’avertissement pour informer l’utilisateur que cela s’est produit.

Vous pouvez également remplacer la partie d'affichage du calendrier du contrôle pour mettre en surbrillance / réduire les options non valides - elle met déjà en surbrillance le jour actuel et la sélection en cours, par exemple.

Autres conseils

Je ne suis pas sûr qu'il y ait sans étendre le contrôle vous-même et dessiner par le propriétaire, ce qui serait un effort.

Si vous ne trouvez pas la fonctionnalité qui vous convient, je considérerais l'utilisation d'un contrôle ErrorProvider et la validation de la saisie des utilisateurs en tant qu'option.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top