Passage de paramétre par ref entre 2 form [Résolu]

Messages postés
125
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
2 mars 2006
- - Dernière réponse : taoetc
Messages postés
346
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 septembre 2007
- 25 janv. 2006 à 09:40
Bonjour à tous les csharpiens, j'ai encore besoin d'aide !
Donc j'ai 2 form windows, et puis une classe colis, je dans la form1, quand je clique sur un bouton, je créer un objet à l'aide de valeurs de textBox et je créer une instance form2 ou je passe en paramètre mon objet comme ceci :

colis c = new colis(.....);
Form2 form2 = new form2(ref c);
form2.show();

Donc dans le constructeur de form2, je peux utiliser les méthodes de l'objet c. Mais moi j'aimerai bien les utiliser dans le form_load,mais j'y arrive pas.

Merci d'avance.

Kbitnik
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
346
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 septembre 2007
1
3
Merci
dans form 2 declare


colis cCopie;


et dans le constructeur :
public form2 (Colis paramColis)
{
cCopie = paramColis;
}

tu fais : Form2 form2 = new form2(c);

pas besoin de ref avec les objet, quand tu fais le = tu pointes automatiquement vers le meme objet original, et la tu peux t'en servir dans ton form load


Be happy , by
Tao

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de taoetc
Messages postés
125
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
2 mars 2006
0
Merci
Ahhh ça yé ok, j'ai réussi ! ça m'évite d'utiliser les variables static (j'aime pas trop) !
Je te remercie Taoetc !

Kbitnik
Commenter la réponse de Kbitnik
Messages postés
125
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
2 mars 2006
0
Merci
par contre, j'ai encore un petit problème, si je fais comme tu as fait ça fonctionne je veux dire que je peux utiliser mon objet mais le programme s'arréte automatiquement, avec une erreur, qui se situe dans le static void main() de ma form1.
Donc en faite, j'ai rien changé dans cette partie, elle est comme ceci :
static void main()
{
Application.run(new form1());
}

peut etre que c'est à cause du pointeur... je ne sais pas !

Kbitnik
Commenter la réponse de Kbitnik
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
38
0
Merci
Et quelle est cette erreur ?



Mx
MVP C#
Commenter la réponse de MorpionMx
Messages postés
125
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
2 mars 2006
0
Merci
et bien en faite, il s'arétte le programme, il me met le message d'erreur un genre de message box avec continuer redémarrer arreter et puis il surligne en jaune l'accolade qui ferme le static void main de la form1. C'est trop bizarre !
Commenter la réponse de Kbitnik
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
27
0
Merci
C'est justement le message d'erreur et le nom de l'exception qu'aimerait avoir Mx, je pense que tu as une erreur dans le constructeur et donc la classe ne peut pas être créée avec l'opérateur new c'est pour ça que tu as une erreur dans la méthode Main.
Commenter la réponse de Lutinore
Messages postés
125
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
2 mars 2006
0
Merci
Ok donc voici le message d'erreur, dès que je clique sur le bouton i m'affiche bien mon form2 avec toutes les infos que je veux mais ensuite il marque :

Une exception non gérée du type 'System.FormatException' s'est produite dans system.windows.forms.dllInformations supplémentaires : Le format de la chaîne d'entrée est incorrect.

je ne sais pas quoi faire ?

Kbitnik
Commenter la réponse de Kbitnik
Messages postés
346
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 septembre 2007
1
0
Merci
Be happy , by
Tao
Commenter la réponse de taoetc