Héritage de class entre Forms

Résolu
coucoual Messages postés 37 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 5 septembre 2007 - 17 juil. 2007 à 14:23
essanfon Messages postés 2 Date d'inscription mercredi 18 mai 2011 Statut Membre Dernière intervention 18 mai 2011 - 18 mai 2011 à 22:12
Bonjour a tous !
Voila j'ai juste un petit soucis dans mon héritage de class entre deux forms.
Voila ce que ca me fait :
http://www.casimages.com/img.php?i=070717022019869679.jpg

Je dois réutiliser et modifier des valeurs de ma Form1 via ma form "affichage".

En gros ca me clone ma form1 dans ma form "affichage" alors que je fais juste un :
namespace OHLC

public class Affichage : Form1

Sachant bien sur que les deux forms ont bien le meme namespace. Ou ai je craqué ?

Merci pour votre aide.

14 réponses

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 11
17 juil. 2007 à 17:10
Erf, le lien est la :
http://www.csharpfr.com/codes/PASSAGE-PARAMETRES_26735.aspx

<hr size="2" width="100%" />Working as designed
3
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 11
17 juil. 2007 à 18:14
Ce n'est pas si compliqué que ça... mais c'est de toute facon ce que tu dois faire si tu veux faire les choses simplement et proprement. En gros, ce que tu dois faire c'est :
- Rendre la variable que tu veux modifier (ton graphique) visible de Form2 (en la mettant en public, ou mieux, en passant par un "Get" public
- Donner à Form2 un lien vers Form1 (car c'est Form1 qui contient le graphique), par exemple en passant a Form2 une référence vers Form1 à la construction de Form2
- Ensuite depuis Form2 tu n'a plus qu'a faire :
    myForm1.MyGraphiqe.Property1 = xxx;

<hr size="2" width="100%" />Working as designed
3
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 11
17 juil. 2007 à 14:45
Si tu fais dériver Affichage de Form1, alors Affichage sera effectivement un "clone" de Form1... C'est comme ca que fonctionne l'héritage de Form (qui est différent de l'héritage de classe).
Ensuite dans Affichage, tu peux modifier tout les composant qui sont en protected/internal/public dans Form1.

Est tu sur que ce que tu cherche a faire, c'est de l'héritage de Form ?

<hr size="2" width="100%" />Working as designed
0
coucoual Messages postés 37 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 5 septembre 2007 1
17 juil. 2007 à 16:42
Hum peut etre pas alors ... je veux juste pouvoir reutilisé des données de la Form 1 comme le graphique qui s'appelle zgl et dont je dois l'appeler dans ma Form affichage.
Donc c'est peut etre de l'heritage de class que je veux faire, mais alors je ne dois pas faire un public class Affichage : Form1 ?

Merci
0

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

Posez votre question
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 11
17 juil. 2007 à 16:50
Quand tu dis réutiliser des données, comme le graphique, tu veux pouvoir :
- Réutiliser le composant graphique, mais avec des données différentes dans ta 2em Form ?
- Réutiliser le composant graphique, avec exactement les même données (le même affichage donc) dans ta 2em Form?
- Accéder au composant graphique de Form1 depuis la 2em Form, pour changer des données à l'intérieur ?

(en gros, est ce que tu veux afficher ton graphique dans ta 2em Form, et si oui, tu veux afficher le même graphique, ou eventuellement un autre?)

<hr size="2" width="100%" />Working as designed
0
coucoual Messages postés 37 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 5 septembre 2007 1
17 juil. 2007 à 16:58
Non, en gros je vais faire un menu "Parametre affichage" dans ma form2 et modifier des valeurs dans la Form1, mais le graphique ne doit s'afficher que dans la form1.
Donc je pense que ta proposition qui me conviendrait serait celle-ci :
- Accéder au composant graphique de Form1 depuis la 2em Form, pour changer des données à l'intérieur.

Voila ca doit etre tout bete mais je ne vois pas, je pensais que CT comme je faisais.

Merci a toi pour ton aide et ton temps ;)
0
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 11
17 juil. 2007 à 17:10
Dans ce cas, l'héritage ne pourra rien pour toi ;)

Ce qu'il faut que tu fasses, c'est rendre ton graphique "visible" pour Form2.
Pour cela, tu peux par exemple passer ton graphique en paramètre à ta Form2 depuis ta Form1.

Plus de détail sur le passage de paramètre entre deux Forms sur ce lien.

<hr size="2" width="100%" />Working as designed
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 62
17 juil. 2007 à 17:14
Cette source me dit vaguement quelques chose ^^

<hr />
-Blog-
0
coucoual Messages postés 37 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 5 septembre 2007 1
17 juil. 2007 à 17:49
D'accord je te remercie j'avais rien compris :)

Encore merci pour tout ;)
0
coucoual Messages postés 37 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 5 septembre 2007 1
17 juil. 2007 à 18:11
Je viens de regarder et ca me semble compliqué, enfin y a pas moyen de faire plus simple en placant quelque chose en reference ou en faisant un using quelque chose pour juste avoir acces aux données de ma form1.

Parce que en gros je veux juste faire une fenetre de reglages car apres ca fait trop de choses sur la fenetre principale ...

Merci
0
coucoual Messages postés 37 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 5 septembre 2007 1
18 juil. 2007 à 11:06
Oui merci je vais etudier cela aujourd'hui :) Enfin c'est cool au moins j'apprends plein de choses en C# :) Apres tout quand on est etudiant c'est le but :P
0
loic20h28 Messages postés 207 Date d'inscription mardi 19 juin 2007 Statut Membre Dernière intervention 22 février 2016 2
26 avril 2008 à 19:03
Bonjour tout le monde,

Voila j'ai une première fenêtre qui contient des combo et des label... et je souhaiterais aprés avoir appuyé sur un bouton, afficher une deuxème Forms qui reprend les valeurs choissit dans ma première Forms.

Donc pour cela je dois faire un héritage.
Lorsque je fais la chose suivante : "public class Form 2 : SuiviClient_DistribInfo.Form1" sachant que le namespace est le même, il m'affiche les labels, combo...de la Forms1 alors que je souhaiterais moi même faire la présentation de la Forms2.

Comment faire en sorte qu'il ne m'affiche pas les combo.... de la Forms1 mais plutôt et seulement les label, textBox que je créé dans le mode création de la forms2.

J'espère être assez claire.

Merci d'avance!!
0
essanfon Messages postés 2 Date d'inscription mercredi 18 mai 2011 Statut Membre Dernière intervention 18 mai 2011
18 mai 2011 à 22:08
0
essanfon Messages postés 2 Date d'inscription mercredi 18 mai 2011 Statut Membre Dernière intervention 18 mai 2011
18 mai 2011 à 22:12
salut j'ai un probleme et il est crussial pour moi de le resoudre. en fait je voudrais faire herita de controleur visuel entre deux web form et je n'y arrive pas? est ce possible???????????????
0