Salut
Le fonctionnement des fenêtres est généralement assez déroutant au début.
Quand on programme de l'orienté objet, on a l'habitude de faire un truc du genre :
// Code ne servant que d'exemple
// (ne fonctionne évidemment pas car les classes n'existent pas)
Fenetre maFenetre = new Fenetre();
maFenetre.MettreUnBoutonIci();
maFenetre.MettreUnBoutonLà();
//...
Mais cependant, ce n'est généralement pas comme ça qu'on crée des fenêtres.
En fait, on crée une classe qui hérite de fenêtre qui place tous les éléments de la fenêtre. Puis on instancie cette classe de fenêtre perso sous forme d'un objet :
class MaClasseFormPerso : Form
{
public MaClasseFormPerso()
{
InitializeComponent();
// Cette méthode (générée automatiquement par le mode design)
// permet de placer les composants dans ta fenêtre lors de son instanciation
// (Puisqu'on se trouve dans le constructeur)
}
}
Et donc, quand tu voudras créer une fenêtre de type maClasseFormPerso :
MaClasseFormPerso monObjetFenetre = new MaClasseFormPerso();
monObjetFenetre.Show();
// L'intérêt est que tu peux créer plusieurs pages ayant exactement la même interface :
MaClasseFormPerso monAutreObjet = new MaClasseFormPerso();
monAutreObjet.Show();
// Là, tu auras 2 fenêtres indépendantes (puisque 2 objets différents)
// Mais qui auront la même apparence (puisque classe identique)
Donc si tu dis que ça ça marche :
GenF Form2 = new GenF();
Form2.Show();
C'est que tu as créé une CLASSE GenF qui hérite de Form, et que tu as créé un objet (que tu as appelé Form2) qui instancie cette fenêtre.
Si tu t'embrouilles, c'est qu'il faut que tu donnes de meilleurs noms.
Dans ce code :
GenF est le TYPE de ta fenêtre
Form2 est un nom que tu donnes à ton OBJET, ta fenêtre en elle-même.
Exemple de meilleur nom (un peu long mais c'est pour que tu comprennes bien) :
FenetreLogin loginALOuvertureDeLApplication = new FenetreLogin();
loginALOuvertureDeLApplication.Show();
Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -