[C#] MDI: passage de paramêtres

MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008 - 27 juil. 2005 à 02:21
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 23 sept. 2005 à 15:16
Bonne nuit a tous,

J'aimerais connaitre la méthode la plus simple pour pouvoir dessiner
dans ma fenetre MDI child lorsque je clique sur un bouton dans le MDI
principal.

je n'arrive pas a passe la variable du pinceau dans mon mdi child. (c'est un logiciel de dessin ke je veux faire.)

Aidez moi svp.



PS: ne me renvoyez pas sur des liens dabs ce site car jai déja fait le tour et j'ai trop de mal a comprendre certains truc.



Merci d'avance.

13 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
27 juil. 2005 à 08:55
Hello,

Comme souvent, il y a deux solutions à ton problème :
- Ou tu crée une méthode pour assigner le pinceau dans ton MDIChild (SetPinceau(...)), et tu l'appelles lors du clic sur la MDI principale.
- Ou tu crée dans ta MDI principale un accesseur pour le pinceau (public Pinceau {get{...}}). A ce moment, ton MDIChild peut accéder à cette propriété : ((MainMDI)Parent).Pinceau

Amicalement, SharpMao
0
cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 2
27 juil. 2005 à 09:15
Le plus simple est je pense de passr par des variables statiques que tu
affectes sur ta fenêtre mère et que tu récupère sur tes filles

Théo
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
27 juil. 2005 à 09:23
variables statiques ???

nan, la solution est celle de mao !


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
0
cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 2
27 juil. 2005 à 09:32
Effectivement, c'est plus propre, je m'incline.

Théo
0

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

Posez votre question
MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
27 juil. 2005 à 12:16
vous pouvez me faire une tite démo d'un pinceau qui dessine dans une mdi child svp.



Merci pour vos réponse mais je débute en c#, et je pense que je comprendrez mieux avec un exemple.
0
cs_pure Messages postés 6 Date d'inscription lundi 20 septembre 2004 Statut Membre Dernière intervention 23 septembre 2005
22 sept. 2005 à 19:15
J'essaie de mettre en application la solution de Mao pour un projet
personnel, mais j'obtiens tjrs une erreur du type : "La référence
d'objet n'est pas définie à une instance d'un objet." lors du démarrage
de mon programme.



Voilà mon code :

client = ((frmMain)Parent).ClientMain;

où .ClientMain est un accesseur accédant à un objet de type Client.



Ce code se trouve dans le constructeur de mon MDIChild. Qu'est-ce qui cause cet erreur ? Il y a une solution ?
0
cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 2
23 sept. 2005 à 08:11
Essai avec client = ((frmMain)MdiParent).ClientMain;

Théo
0
cs_pure Messages postés 6 Date d'inscription lundi 20 septembre 2004 Statut Membre Dernière intervention 23 septembre 2005
23 sept. 2005 à 13:20
J'ai essayé, et j'obtiens exactement la même erreur... :(
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
23 sept. 2005 à 14:55
par hazard... tu ne ferais pas ca dans le constructeur du formulaire ?

Sébastien FERRAND
0
cs_pure Messages postés 6 Date d'inscription lundi 20 septembre 2004 Statut Membre Dernière intervention 23 septembre 2005
23 sept. 2005 à 15:04
Oui, il ne faut pas ?
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
23 sept. 2005 à 15:06
en fait... c'est bête, mais au moment où ta fenêtre se construit, elle ne connais pas encore la fenêtre parente (Parent ou MDIParent).

La solution, c'est de faire ce traitement dans le Load qui a lieu qu'après le Show (ou ShowDialog).

Sébastien FERRAND
0
cs_pure Messages postés 6 Date d'inscription lundi 20 septembre 2004 Statut Membre Dernière intervention 23 septembre 2005
23 sept. 2005 à 15:09
Je vois, merci beaucoup! (C'est la première fois que je me sers de MDI, mes connaissances sur celles-ci sont donc très restreintes..)
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
23 sept. 2005 à 15:16
ce n'est pas valable uniquement pour les MDI, mais aussi pour tout type d'objet.

Sébastien FERRAND
0