Changement de formulaire

Résolu
Ismael94000 Messages postés 41 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 13 août 2012 - 22 juin 2010 à 16:16
Ismael94000 Messages postés 41 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 13 août 2012 - 23 juin 2010 à 09:20
Bonjour,

Je souhaiterais dans une form cliquer sur un bouton et cette action doit avoir pour conséquence de chargé différents contrôles toujours dans la même form.
La méthode ShowDialog() ne me satisfait pas puisque une nouvelle form est ouverte, je veux vraiment pouvoir tout faire dans une seule form.

Merci de votre aide.

4 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
22 juin 2010 à 20:29
Théoriquement, si tu veux effacer tout ce qui se trouve dans ta form, il te suffit de faire this.Controls.Clear();
Mais le concept des Panels est beaucoup plus simple. Comme ça tu peux tout préparer en mode Design, par exemple.
Les panels, c'est simple, efficace, léger, instantané, pratique, rapide à faire et propre. Tu veux quoi de plus ?

En gros, tu crées, par exemple, un panel pnlLogin, à l'intérieur duquel tu mets une textbox pour le login, une pour le mot de passe, 3 labels ("login", "mot de passe" et un pour un message en cas d'erreur) et un bouton OK.
Dans un autre panel (pnlMain disons), tu crées ton interface comme tu la souhaites.
De plus, tu mets pnlMain.Visible à false.

Une fois que l'utilisateur a rentré un login et un mot de passe valide, il te suffit de faire
pnlLogin.Visible = false;
pnlMain.Visible = true;

Et si c'est pour une connexion, tu peux même plutôt faire pnlMain.Visible toujours à true et changer pnlMain.Enabled

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
3
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
22 juin 2010 à 17:07
Salut

Il suffit de jouer sur la propriété Visible des éléments.
Si tu souhaites en rajouter, c'est this.Controls.Add(monNouveauControle);

Je serais toi, tu créerais cette présentation dans différents panels, et j'afficherais ou non ces panels.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
Ismael94000 Messages postés 41 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 13 août 2012
22 juin 2010 à 19:18
Bonjour,

Merci pour ta réponse.
Mais penses-tu que ce soit réellement la meilleure solution?
N'y a-t-il pas une propriété pour la form en cours pour "effacer" tous les contrôles qu'elle contient.
Pour te dire ça je m'appuis par exemple sur MSN. Tu as une form où tu peux te connecter et quand tu es connecté la même form est utilisée pour la gestion des contacts.
Est ce qu'il s'agit de 2 forms différentes et la première est alors supprimée (methode Close())?
Enfin connaissez-vous un lien expliquant les règles de base concernant le design et l'enchainement des form dans Visual studio.

Merci.
0
Ismael94000 Messages postés 41 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 13 août 2012
23 juin 2010 à 09:20
Merci pour ta réponse. Disons que comme je suis assez débutant je te fais confiance. Je voulais juste être sur que la bonne méthode à suivre était celle-ci.

Merci.
0
Rejoignez-nous