Héritage de class entre Forms [Résolu]

Signaler
Messages postés
37
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
5 septembre 2007
-
essanfon
Messages postés
2
Date d'inscription
mercredi 18 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011
-
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

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

<hr size="2" width="100%" />Working as designed
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
8
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
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
8
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
Messages postés
37
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
5 septembre 2007
1
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
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
8
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
Messages postés
37
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
5 septembre 2007
1
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 ;)
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
8
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
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
44
Cette source me dit vaguement quelques chose ^^

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

Encore merci pour tout ;)
Messages postés
37
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
5 septembre 2007
1
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
Messages postés
37
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
5 septembre 2007
1
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
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
1
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!!
Messages postés
2
Date d'inscription
mercredi 18 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011

Messages postés
2
Date d'inscription
mercredi 18 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011

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???????????????