Acceder aux proprietes d'une fenetre a partir d'une autre

Résolu
akito06 Messages postés 23 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 27 janvier 2005 - 24 déc. 2004 à 09:29
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005 - 4 janv. 2005 à 10:46
Bonjour a tous et a toutes

Apres avoir bien exploré de nombreux post du forum, je ne trouve pas de solution a mon probleme.

Le probleme : Application MDI
Une forme Main crée une Form1
La Form1 crée une Form2

Je voudrais pouvoir acceder aux propriétés de Form1 a partir de Form2
Ex : dans Form2 : Form1.Enabled = true;

Je viens du monde Visual Basic, je commence donc a comprendre les mecanisme du C++/C#.

J'ai lu des methodes conscistant a passer en ref les attribut a modifier mais cette solution n'est pas satisfaisante dans mon cas.

A moin de passer carement la Form1 en ref dans le constructeur de la Form2. Mais je n'y suis pas arriver...

Et ce probleme ne resoudrait pas un acces a une troisieme fenetre
ex Form1 -> Form 2 -> Form3 donc Form3 ne peut pas acceder a Form1.

Voila, j'espere avoir été assez clair. J'espere qu'il est possible d'acceder aux propriétés aussi facilement qu'en VB. Malgres qu'il soit permissif, VB reste un langage souple sur certain point non negligeable.

Merci par avance et bonnes fetes a tout le monde

26 réponses

akito06 Messages postés 23 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 27 janvier 2005
24 déc. 2004 à 12:00
Si je met des arguments dqns le constructeur il me met une erreur
Je pense que c'est parce que dans l'instanciation on met rien

Merci pour ton aide, je ne connaissais pas Owner, j'espere que ca ne va pas influancer car form1 er form2 sont des enfants de mainform
0
akito06 Messages postés 23 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 27 janvier 2005
24 déc. 2004 à 12:04
oups desolé

voila l'erreur

No overload for method 'Form2' takes '0' arguments

merci
0
akito06 Messages postés 23 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 27 janvier 2005
24 déc. 2004 à 12:12
j'ai lu ca sur un post

"Est-ce que tu as typecasté this.owner ?
frmMain Main = (frmMain)this.owner;"

Cela peut maider?
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
24 déc. 2004 à 12:16
la propriété Enabled etant héritée de la classe Form, pas besoin de caster pour y avoir accès
par contre je me demande si l'utilisation de Owner dans un contexte mdi est une bonne idée

Cocoricoooooooo !!!!
coq
MVP Visual C#
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
akito06 Messages postés 23 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 27 janvier 2005
24 déc. 2004 à 14:19
Oui c'est ce que je pensais....

Je vois pas trop de soluce. C'est pourtant tout simple dans le concept.

En fait, il faudrait que quand j'instancie ma form2, je lui passe en argument l'instance de ma form1.

Mais j'arrive pas a le mettre en oeuvre.
Voila ce que je fais

disons que mon instance de Form1 s'appel form1

dans form1 :
Form2 form2 = new Form2(form1);
form2.Show;

dans form2

public Form2(form1)
{
---
}

dans un bouton :
form1.Enabled= false;

Mais je suis sur de me planté dans la syntaxe.

Tu peux m'indiquer quelque chose?
faut-il mettre public Form2(Form1 form1) ?

Merci beaucoup
0
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
4 janv. 2005 à 10:46
Ca rejoint un peu voir beaucoup ça http://www.csharpfr.com/forum.v2.aspx?ID=317469

hum.......
0
Rejoignez-nous