Passage de paramétre par ref entre 2 form

Résolu
Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006 - 24 janv. 2006 à 15:08
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

8 réponses

taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
24 janv. 2006 à 17:22
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
3
Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006
24 janv. 2006 à 17:28
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
0
Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006
24 janv. 2006 à 17:38
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
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
24 janv. 2006 à 19:30
Et quelle est cette erreur ?



Mx
MVP C#
0

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

Posez votre question
Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006
24 janv. 2006 à 22:27
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 !
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
24 janv. 2006 à 23:30
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.
0
Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006
25 janv. 2006 à 09:05
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
0
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
25 janv. 2006 à 09:40
Be happy , by
Tao
0
Rejoignez-nous