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

billut 74 Messages postés lundi 23 mai 2005Date d'inscription 5 décembre 2008 Dernière intervention - 14 avril 2006 à 11:35 - Dernière réponse : Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention
- 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 

11 réponses

Répondre au sujet
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 19 avril 2006 à 17:06
+1
Utile
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;
}
}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Lutinore
nounours21_6 255 Messages postés mercredi 3 novembre 2004Date d'inscription 21 avril 2009 Dernière intervention - 14 avril 2006 à 11:39
0
Utile
salut,
qu'est-ce que tu ne comprend pas?

Enjoy @+
<<--<<--nOUnoURs-->>-->>
Commenter la réponse de nounours21_6
billut 74 Messages postés lundi 23 mai 2005Date d'inscription 5 décembre 2008 Dernière intervention - 14 avril 2006 à 11:55
0
Utile
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
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 14 avril 2006 à 13:41
0
Utile
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
nounours21_6 255 Messages postés mercredi 3 novembre 2004Date d'inscription 21 avril 2009 Dernière intervention - 14 avril 2006 à 14:41
0
Utile
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
billut 74 Messages postés lundi 23 mai 2005Date d'inscription 5 décembre 2008 Dernière intervention - 15 avril 2006 à 11:15
0
Utile
merci beaucoup, vraiment, je vais tester je vous tiens au courant..
Commenter la réponse de billut
billut 74 Messages postés lundi 23 mai 2005Date d'inscription 5 décembre 2008 Dernière intervention - 19 avril 2006 à 14:46
0
Utile
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
billut 74 Messages postés lundi 23 mai 2005Date d'inscription 5 décembre 2008 Dernière intervention - 19 avril 2006 à 20:31
0
Utile
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
billut 74 Messages postés lundi 23 mai 2005Date d'inscription 5 décembre 2008 Dernière intervention - 19 avril 2006 à 23:42
0
Utile
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
Utile
1
Et comment fait on pour récupérer des données a partir de la Form2 vers la Form1?
Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 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.