2010-06-17 8 views
1

Je pense à l'écriture d'un programme WPF qui nécessiterait un login et un mot de passe au démarrage de l'application. J'ai pensé à une petite forme avec deux zones de texte comme un formulaire de connexion. L'utilisateur devra remplir ses coordonnées, puis le formulaire principal de l'application sera débloqué. Comment allez-vous résoudre ce problème?Afficher un petit formulaire lorsque le formulaire principal est "verrouillé"

Merci pour vos réponses, daemonsvk

+0

Quel code avez-vous actuellement? Aussi, cela ressemble beaucoup à un devoir csc 102 – Woot4Moo

+0

Le terme standard pour une fenêtre "verrouiller" une fenêtre en dessous est "modal", comme dans "ouvrir une boîte de dialogue modale". Le contraire est modèle. – Jacob

Répondre

2

Ce comportement est standard pour l'appel Window.ShowDialog(). Les autres fenêtres seront désactivées.

0

Je ferais du formulaire de démarrage initial votre page de connexion et j'authentifierais l'utilisateur, si ses coordonnées sont correctes, masquez le formulaire de connexion et affichez un autre formulaire.

if(user is authed) 
{ 
    this.Hide(); //Hide the login form 
    mainAppForm.Show(); //or Form.ShowDialog(); //Shows the main form 
} 
0

La façon la plus simple de le faire est de premier spectacle (en utilisant ShowDialog, qui bloque à savoir attend jusqu'à ce que la forme est fermée avant de continuer à la prochaine ligne de code) le formulaire de connexion. Si la connexion est réussie, vous disposez du formulaire de connexion, puis affichez votre formulaire principal. Si la connexion échoue, vous mettez fin à l'application. Cependant, si vous voulez que votre formulaire principal soit visible sous le formulaire de connexion (une exigence non déraisonnable), vous devez d'abord afficher le formulaire principal, puis afficher le formulaire de connexion (modal) à partir d'une méthode dans la forme principale. Dans WinForms cela nécessite une sorte de piratage, puisque vous ne pouvez pas afficher le formulaire de connexion depuis le constructeur du formulaire principal ou son événement Load (car le formulaire principal ne sera pas encore visible lorsque le formulaire de connexion apparaît).

WPF peut gérer cela mieux maintenant.

Questions connexes