17 Mar2016
Authentification dans un délai avec barre de progression
Objectif : Manipuler des contrôles avancés TIMER, PROGRESSBAR
Réaliser l’application C# suivante :
L’utilisateur doit entrer son login et mot de passe dans 30 secondes. Si l’utilisateur entre un code erroné, une boite de message lui affiche "Code erroné", s’il n’entre pas les informations correctement dans 30 secondes, une boite de message lui affiche "Temps épuisé" et l’application s’arrête. S’il entre des informations correctes une boite de message lui affiche "Bienvenue !".
La barre de progression indique à l'utilisateur le niveau du temps restant.
NAME des contrôles:
- Form1 : Le formulaire
- Timer1 : Le Timer
- button_connexion : Le bouton connexion
- button_annuler : Le bouton annuler
- ProgressBar1 : La barre de progression
Au démarrage du formulaire:
private void Form1_Load(object sender, EventArgs e) { text_pass.UseSystemPasswordChar = true; progressBar1.Minimum = 0; //Valeur initiale de la barre progressBar1.Maximum = 30; //Valeur finale de la barre progressBar1.Step = 1; //Le pas de progression de la barre timer1.Interval = 1000; timer1.Start(); }
Au tic du Timer:
private void timer1_Tick(object sender, EventArgs e) { progressBar1.PerformStep(); //Faire progresser la barre d'un pas (1 step) if (progressBar1.Value == progressBar1.Maximum) //La barre est arrivée à sa fin { timer1.Stop(); MessageBox.Show("Temps épuisé", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); this.Close(); } }
Au clic sur le bouton Connexion:
private void button_connexion_Click(object sender, EventArgs e) { if (text_login.Text == "login" && text_pass.Text == "pass") //exemple de login et mot de passe { timer1.Stop(); //Arrêter le timer MessageBox.Show("Bienvenue", "Accès autorisé", MessageBoxButtons.OK, MessageBoxIcon.Information); } else MessageBox.Show("Login ou mot de passe incorrect", "Accès non autorisé", MessageBoxButtons.OK, MessageBoxIcon.Error); }
Au clic sur le bouton Annuler:
private void button_annuler_Click(object sender, EventArgs e) { text_login.Text = ""; text_pass.Text = ""; text_login.Select(); }