Passer variables entre 2 forms .. [Résolu]

Messages postés
74
Date d'inscription
lundi 23 mai 2005
Dernière intervention
5 décembre 2008
- 14 avril 2006 à 11:35 - Dernière réponse :
Messages postés
12262
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 novembre 2018
- 28 mai 2014 à 18:00
bonjour, apres avoir bien étudié les scripts de ladresse http://www.csharpfr.com/codes/PASSAGE-PARAMETRES_26735.aspx, je n'arrive toujours pas a passer la valeur dune variables dune form a une autre (je suis vraiment débutant.. vous moquez pas svp . )
n'y a t-il pas un moyen plus simple ? ou est -ce que vous pouvez maider svp..
merci beaucoup ..
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
- 19 avril 2006 à 17:06
1
Merci
C'est pourtant très simple.. faut que tu apprennes, les variables statiques et les modificateurs d'accès..

L'exemple de Nounours est bien mais le problème c'est que tu ne pourras pas voir les changements de valeurs de la variable par la suite et c'est ce que tu demandes >ici<.

Les évènements aurait été très bien mais vu que tu ne comprends pas le tutorial de Bidou :/

Vlà un exemple qui utilise exactement les deux méthodes que je t'ai montré plus haut :

public class Form1 : Form
{
// Accessible uniquement dans cette classe.
private int x = 10;
// Accessible partout dans cet assemblage sans instance.
internal static int y = 20;
// Accessible avec une instance de cette classe.
public int X { get { return x; } }


// Constructeur
public Form1( ) : base( )
{
this.Text = "Form 1";
// On passe this dans le constructeur et pas x,
// sinon ce sera une copie de x qui sera passée
// et on ne verra pas les changements apportés à
// l'original par la suite..
Form2 f = new Form2( this );
f.Show( );
}


[ STAThread ]
private static void Main( )
{
Application.Run( new Form1( ) );
}
}


public class Form2 : Form
{
// Une référence sur Form1.
private Form1 owner;


// Constructeur
public Form2( Form1 owner )
{
this.owner = owner;
this.Text = "Form 2";


// Pour acceder à x.
int x = owner.X;
// Pour acceder à y.
int y = Form1.y;
}
}

Merci Lutinore 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de Lutinore
Messages postés
255
Date d'inscription
mercredi 3 novembre 2004
Dernière intervention
21 avril 2009
- 14 avril 2006 à 11:39
0
Merci
salut,
qu'est-ce que tu ne comprend pas?

Enjoy @+
<<--<<--nOUnoURs-->>-->>
Commenter la réponse de nounours21_6
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Dernière intervention
5 décembre 2008
- 14 avril 2006 à 11:55
0
Merci
je narrive pas a passer la valeur dune variable entre deux forms :
jai une variable booleen de type bool dans ma form1, jaimerai que lorsque je la passe a true, je puisse dire dans ma form2 : " si booleen = true alors..."
voila.
merci beaucoup
Commenter la réponse de billut
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
- 14 avril 2006 à 13:41
0
Merci
Salut, 2 méthodes très très simples :

// 1 ) Utilisation d'une variable statique.
public class MyForm1 : Form
{
internal static bool value; // Cette variable est accessible partout dans ton code.
}

// 2 ) Passage du paramètre "this" via le constructeur.
public class MyForm2 : Form
{
private MyForm1 owner;


public MyForm2( MyForm1 owner )
{
this.owner = owner;
}
}
Commenter la réponse de Lutinore
Messages postés
255
Date d'inscription
mercredi 3 novembre 2004
Dernière intervention
21 avril 2009
- 14 avril 2006 à 14:41
0
Merci
sinon tu as cette solution (un peu plus longue!!!)

form 1:
private appelForm2()
{
Boolean monBool = true;
Form2 unFrm = new Form2(monBool);
unFrm.ShowDialog();
}

form2 :
Boolean unBool;
public form2(Boolean monBool)
{
initializeComponent();
unBool = monBool;
}

Enjoy @+
<<--<<--nOUnoURs-->>-->>
Commenter la réponse de nounours21_6
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Dernière intervention
5 décembre 2008
- 15 avril 2006 à 11:15
0
Merci
merci beaucoup, vraiment, je vais tester je vous tiens au courant..
Commenter la réponse de billut
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Dernière intervention
5 décembre 2008
- 19 avril 2006 à 14:46
0
Merci
salut
>>lutinore le code que tu ma passé ne me conviens pas, car je pense que tu as mal compris mon probleme, (ou je nai rien compris a ton code..).

>> nounours21_6 tu fais référence à "private appelForm2() " mais "appel" nest pas reconnu..

voila.. j'en suis donc toujours au meme point..
Commenter la réponse de billut
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Dernière intervention
5 décembre 2008
- 19 avril 2006 à 20:31
0
Merci
je commence enfin a comprendre..! merci beaucoup, par contre, lors de ma compilation j'ai une erreur ( qui montre que j'ai pas completement compris) et qui me dit :

Erreur 1 Modificateur partiel manquant sur la déclaration de type 'Projet.Form1' ; une autre déclaration partielle de ce type existe

et la je bloque..
Commenter la réponse de billut
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Dernière intervention
5 décembre 2008
- 19 avril 2006 à 23:42
0
Merci
cest bon jai trouvé, me fallai "partial class" au lieu de "class".
en tout cas merci beaucoup pour tout !!!
merci
Commenter la réponse de billut
0
Merci
Et comment fait on pour récupérer des données a partir de la Form2 vers la Form1?
Messages postés
12262
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 novembre 2018
- 28 mai 2014 à 18:00
Le code source en lien dans le tout premier message de cette discussion montre comment passer un paramètre dans le constructeur de form1 vers form2; et comment passer un paramètre à l'aide d'un événement de form2 ver form1.

As tu au moins regardé cette source?
Commenter la réponse de Allos

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.