MDI : Appel d'un form se trouvant dans un autre projet
1 réponse
SL3News
Bonjour,
J'ai un formulaire MDI à partir duquel j'appelle d'autres formulaires.
1 - Lorsque le formulaire appellé (FormLocal) se trouve dans le même projet
que le MDI, il s'affiche correctement.
Voici le code utilisé dans ce 1er cas :
{
FormLocal f = new FormLocal();
f.MdiParent = this;
f.Show();
}
2 - Par contre, lorsque le formulaire appellé (FormDistant) se trouve dans
un projet autre que celui contenant le MDI, il s'affiche et disparait en
même temps.
Voici le code utilisé dans ce 2nd cas :
{
using (Projet2.FormDistant f = new Projet2.FormDistant())
{
f.MdiParent = this;
f.Show();
}
}
NB : en utilisant f.ShowDialog(); j'obtiens un message d'erreur.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles TOURREAU
Le Mon, 03 Sep 2007 12:07:30 +0200, SL3News a écrit:
Bonjour, J'ai un formulaire MDI à partir duquel j'appelle d'autres formulaires.
1 - Lorsque le formulaire appellé (FormLocal) se trouve dans le même projet que le MDI, il s'affiche correctement. Voici le code utilisé dans ce 1er cas : { FormLocal f = new FormLocal(); f.MdiParent = this; f.Show(); }
2 - Par contre, lorsque le formulaire appellé (FormDistant) se trouve dans un projet autre que celui contenant le MDI, il s'affiche et disparait en même temps. Voici le code utilisé dans ce 2nd cas : { using (Projet2.FormDistant f = new Projet2.FormDistant()) { f.MdiParent = this; f.Show(); } } NB : en utilisant f.ShowDialog(); j'obtiens un message d'erreur.
Quelqu'un a-t-il une solution? Merci d'avance.
C'est normale, en faisant un using() vous appelez (enfin c'est le CLR) à la fin de l'accolade la méthode Dispose() qui s'occupe de fermer la fenêtre et libérer les ressources de celle-ci...
Vous devez donc utiliser le même code que pour FormLocal :
Projet2.FormDistant f = new Projet2.FormDistant(); f.MdiParent = this; f.Show();
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Le Mon, 03 Sep 2007 12:07:30 +0200, SL3News <toto@tata.fr> a écrit:
Bonjour,
J'ai un formulaire MDI à partir duquel j'appelle d'autres formulaires.
1 - Lorsque le formulaire appellé (FormLocal) se trouve dans le même
projet
que le MDI, il s'affiche correctement.
Voici le code utilisé dans ce 1er cas :
{
FormLocal f = new FormLocal();
f.MdiParent = this;
f.Show();
}
2 - Par contre, lorsque le formulaire appellé (FormDistant) se trouve
dans
un projet autre que celui contenant le MDI, il s'affiche et disparait en
même temps.
Voici le code utilisé dans ce 2nd cas :
{
using (Projet2.FormDistant f = new Projet2.FormDistant())
{
f.MdiParent = this;
f.Show();
}
}
NB : en utilisant f.ShowDialog(); j'obtiens un message d'erreur.
Quelqu'un a-t-il une solution?
Merci d'avance.
C'est normale, en faisant un using() vous appelez (enfin c'est le CLR) à
la fin de l'accolade la méthode Dispose() qui s'occupe de fermer la
fenêtre et libérer les ressources de celle-ci...
Vous devez donc utiliser le même code que pour FormLocal :
Projet2.FormDistant f = new Projet2.FormDistant();
f.MdiParent = this;
f.Show();
Cordialement
--
Gilles TOURREAU
gilles.tourreau@pos.fr
S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Le Mon, 03 Sep 2007 12:07:30 +0200, SL3News a écrit:
Bonjour, J'ai un formulaire MDI à partir duquel j'appelle d'autres formulaires.
1 - Lorsque le formulaire appellé (FormLocal) se trouve dans le même projet que le MDI, il s'affiche correctement. Voici le code utilisé dans ce 1er cas : { FormLocal f = new FormLocal(); f.MdiParent = this; f.Show(); }
2 - Par contre, lorsque le formulaire appellé (FormDistant) se trouve dans un projet autre que celui contenant le MDI, il s'affiche et disparait en même temps. Voici le code utilisé dans ce 2nd cas : { using (Projet2.FormDistant f = new Projet2.FormDistant()) { f.MdiParent = this; f.Show(); } } NB : en utilisant f.ShowDialog(); j'obtiens un message d'erreur.
Quelqu'un a-t-il une solution? Merci d'avance.
C'est normale, en faisant un using() vous appelez (enfin c'est le CLR) à la fin de l'accolade la méthode Dispose() qui s'occupe de fermer la fenêtre et libérer les ressources de celle-ci...
Vous devez donc utiliser le même code que pour FormLocal :
Projet2.FormDistant f = new Projet2.FormDistant(); f.MdiParent = this; f.Show();
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr