IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#] Fenêtre Principale + Fenêtre de login


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1
    Par défaut [C#] Fenêtre Principale + Fenêtre de login
    Bonjour,
    Je suis en train de créer une application avec une fenêtre principale et une fenêtre de login. Je voudrais que l'application se lance sur la fenêtre principale et quand même temps la fenêtre de login apparaisse sur la fenêtre principale. Ensuite si le login est bon, la fenêtre de login disparaît et la fenêtre principale qui était jusque là inactive devient active.
    Pour info, je suis débutant et je tente de me perfectionner en C# et WinForms.

    Par avance merci

  2. #2
    Membre confirmé

    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Par défaut
    Disons ceci que tu as MainForm comme formulaire principale, disons LoginForm comme formulaire d'identification.

    Dans le MainForm, tu aura ceci comme définition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    namespace Test {
     
      public partial class MainForm : Form {
     
        private bool isValidUser;
     
        public MainForm() {
          InitializeComponent();
     
          // Ici, tu peux remplacer "false" par une méthode qui irait chercher un
          // Auto-Login quelconque.
          isValidUser = false;
        }
     
        public void mainForm_Load(object sender, EventArgs e) {
           // Tu peux créer un compteur pour le nombre maximal d'essaie ici 
           // L'ajouter dans ta condition
           while(!isValidUser) {
              LoginForm myLoginForm = new LoginForm();
              myLoginForm.ShowDialog();
     
              // Pourrait être plus "Object Oriented" mais pour les besoins de
              // cette exemple cela peut suffire.
              List<string> myResult = (List<String>)myLoginForm.Tag;
              isValidUser = ValidateCredentials(myResult[0], myResult[1]);
           }
        }
     
        public bool ValidateCredentials(string _username, string _password) {
          // vérifier ta source de données (fichier ou db) où les informations sont
          // stockés
          // Pourrais être dans une classe séparé.
        }
     
      }
     
    }
    Tu auras besoins également de ceci dans ton LoginForm. Tu auras un bouton "OK" avec comme DialogResult = OK.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    namespace Test {
     
      public partial class LoginForm: Form {
     
        public LoginForm() {
          InitializeComponent();
        }
     
        // Ton bouton "OK" du formulaire LoginForm
        public void btnOK_Click(object sender, EventArgs e) {
           if(txtUsername.Text.Length > 0 && txtPassword.Text.Length > 0) {
             List<string> myCredentials = new List<string>(2);
             myCredentials.Add(txtUsername.text);
             myCredentials.Add(txtPassword.text);
             this.Tag = myCredentials;
           } else {
              // Quelconque message d'erreur.
           }
        }
     
      }
     
    }
    Comme tu peux le voir c'est un exemple "pour débuter". Cependant je te conseil vivement de créer une classes User (Usager). Cette classe pourra avoir une méthode Authenticate qui fera le même travail que ValidateCredentials et, bien sur, l'object Usager pourra remplacer la List<String> dans le Tag de ton formulaire. On aura quelque chose de plus orienté objet.

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/10/2009, 16h13
  2. communication fenêtre principale / fenêtre secondaire
    Par Sylvain__A_ dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/12/2008, 11h50
  3. Fenêtre principale : createwindow ou DialogBox ?
    Par SteelBox dans le forum Windows
    Réponses: 6
    Dernier message: 02/09/2004, 22h26
  4. Réponses: 2
    Dernier message: 03/08/2004, 10h30
  5. Fenêtre principale et secondaire
    Par FranT dans le forum Composants VCL
    Réponses: 9
    Dernier message: 31/07/2002, 19h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo