- Savoir manipuler des contrôles de date et faire les différentes opérations de calcul.



 N° 10

Objectif :

-          Savoir manipuler des contrôles de date et faire les différentes opérations de calcul.
-          Proposer à l'utilisateur une interface à 'géométrie variable'.
-          Savoir Utiliser un ErrorProvider
-            Personnaliser un contrôle de saisie dans les zones de texte.





Travail à faire :


Exercice 1 : La croisière s'amuse :

Objectif

Réaliser une application permettant de saisir du texte, des chiffres ainsi que des dates. L'objectif est de fournir aux utilisateurs un écran de saisie permettant d'assurer l'intégrité des données.

Pour les dates, utiliser le contrôle DateTimePicker.
Pour les chiffres, utiliser le contrôle NumericUpDown.

Ces deux type de contrôle vous permettent de simplifier votre code en filtrant les données saisies tout en améliorant l'ergonomie d votre logiciel.




1)       
·          Le titre de la fenêtre s'actualise en dynamique lors de la saisie de l'intitulé.
·          Lors du lancement de l'application, la date de départ et celle d’arrivée sont initialisée par la date actuelle.
·          Lorsque le focus quitte une date, le Label de droite affiche automatiquement la durée du séjour. Attention à vérifier que la date d'arrivée est postérieure à la date de départ.
·          De même, après avoir renseigné les champs 'Nb Places' et 'Nb Inscrits', l'étiquette de droite affichera automatiquement le nombre de places disponibles. Le nombre de places réservées ne doit pas excéder le nombre de places disponibles.
·          Le bouton 'Ok' ne sera pas accessible si l'utilisateur omet de renseigner ce l'intitulé.
·          Le bouton 'Annuler' se contente de fermer la fenêtre, alors que le bouton 'Ok' affiche un message récapitulatif avant de quitter l'application.


Notez que la fenêtre principale ne possède pas de case d'agrandissement ni de réduction et ne peut être redimensionnée par l'utilisateur.

Les dates saisies ne devront pas être antérieures à la date du jour. Le nombre de places doit être supérieur à zéro.

La boite de message finale permettra de confirmer ou pas la validité des données.


Si la réponse est 'Oui', votre application simulera l'enregistrement des données en réinitialisant les contrôles du formulaire à ces valeurs :
o   Date de Départ : Date du jour,
o   Date d'Arrivée : Date du jour +1,
o   valeurs numériques à 0,
o   étiquettes calculées : « valeur »,
o   titre de la fenêtre : "Voyage :"

Si la réponse est 'Non', la boite de dialogue se ferme simplement pour permettre à l'utilisateur de corriger les données.


Exercice 2 : Contrôle de saisie :

Objectif

Effectuer la validation de données. Gérer la saisie dans une grille comportant une zone alphabétique, une zone numérique et une zone date, comme dans la feuille ci-dessous. Transférer des informations d'un objet Form à une autre. Mettre en oeuvre le contrôle errorProvider.



Contrôler l'absence de numériques dans les champs 'Nom' et 'Prénom', la présence exclusive de chiffres dans le champ 'Code Postal'.

En cas d'erreur de saisie, on place le curseur sur l'erreur. Il est également possible d'afficher un message dans une barre d'état (contrôle Label). Dans ce cas il serait intéressant d'effacer le message en question dès que l'utilisateur effectue la correction.

Une fois les données correctement saisies, le fait de cliquer sur 'Ok' affiche une deuxième fenêtre intitulée 'Consultation' se présentant comme suit:


Si les éléments saisis ne se conforment pas aux contraintes spécifiées, l'utilisateur obtient le résultat suivant :



Une icône d'avertissement se place à droite de chaque champ non conforme. Lorsque l'utilisateur déplace la souris sur l'icône d'avertissement, une info bulle l'informe de la nature de l'erreur. Cette fonctionnalité passe par l'utilisation du contrôle errorProvider. Le Label jouant le rôle de barre d'état fournit un message d'erreur général.
Dès que l'utilisateur entame une correction dans une zone, l'icône d'avertissement associé disparait, ainsi que le message d'erreur dans la barre d'état.



Publié par Drupal Study