09 Mar2016
Authentification dans un délai
Objectif : Manipuler des contrôles avancés TIMER
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 !".
NAME des contrôles:
- Form1 : Le formulaire
- Timer1 : Le Timer
- button_connexion : Le bouton connexion
- button_annuler : Le bouton annuler
- label_temps : L'étiquette temps
Déclaration d'une variable globale:
//Auteur : CHAOULID
//Copyright : Exelib.net
public partial class Form1 : Form { int t = 30; //un compteur pour calculer le temps restant .........
Au démarrage du formulaire:
private void Form1_Load(object sender, EventArgs e) { text_pass.UseSystemPasswordChar = true; timer1.Interval = 1000; //régler le tic du timer timer1.Start(); //Démarrer le timer label_temps.Text = "00:" + t; //Afficher le temps restant }
Au tic du Timer:
private void timer1_Tick(object sender, EventArgs e) //à chaque seconde { t--; //décrémenter le temps restant if (t >= 10) //Afficher le temps restant label_temps.Text = "00:" + t; else label_temps.Text = "00:0" + t; if (t == 0) //Temps épuisé { timer1.Stop(); //Arrêter le timer 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(); }