begin process at 2012 02 11 11:11:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Mono

 > 

Général

 > 

passer simplement une variable entre 2 forms


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

passer simplement une variable entre 2 forms

jeudi 28 février 2008 à 23:19:52 | passer simplement une variable entre 2 forms

adnotlegland

Bonjour à tous,

bon ca fait 24h que j'essaye de passer une variable d'une form à une autre et je ne comprends pas !
J'ai beaucoup chercher et la facon la plus simple sur laquelle je suis tombé c'est de passer par les accesseurs mais voilà ca marche pas....
C'est pourtant tres simple: une form1 avec une textbox1 et un bouton, et une form2 qui s'ouvre quand je clique sur le boutton et qui contient juste une textbox2, ainsi je voudrais recuperer le texte de la textbox1 dans la textbox2.

bon le code de la form1 :

using

System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace test
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
privatevoid button1_Click(object sender, EventArgs e)
{
Form2 frm2 = newForm2();
frm2.ShowDialog();
}
publicstring retour
{
get
{
return textBox1.Text;
}
}
}
}
et celui de la form2 :


using

System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace test
{
publicpartialclassForm2 : Form
{
public Form2()
{
InitializeComponent();
}
privatevoid Form2_Load(object sender, EventArgs e)
{
textBox1.Text = form1.retour(); \\ erreur : Erreur 1 Le nom 'form1' n'existe pas dans le contexte actuel 

}
}
}

Si vous pouviez m'éclairer de vos lumieres sur ce probleme de POO je vous promets un gros cheque ou au moins de vifs remerciements
vendredi 29 février 2008 à 08:04:10 | Re : passer simplement une variable entre 2 forms

SharpMao

Membre Club
Réponse acceptée !
Hello,

C'est normal, il ne peut pas connaître form1 si tu ne lui donne pas cette variable. Essaie comme ça :

privateForm1 form1;

private Form2()
{
InitializeComponent();
}

public Form2(Form1 f1):this()
{
form1 = f1;
}


Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
vendredi 29 février 2008 à 09:27:54 | Re : passer simplement une variable entre 2 forms

adnotlegland

ben j'avais capté qu'en lui donnant form1.retour() > form1 n'est pas le nom d'une instance mais du "moule" donc ca peut pas marcher mais lorsqu'on lance le programme, form1 est forcément instancié donc comment connaitre le nom de l'instance qui s'affiche afin de le donner à form2 ?

Bon sur papier ma question n'est peut-etre pas tres clairalors si tu pouvais au moinsm'expliquer où placer ce bout de code ce serait sympa. Là en fait je comprends pas trop ce que ca fait et où placer tout ca ....on surcharge Form2() ? 

merci pour les precisions et cette lueur qui scintille tout au loin au bout du tunnel  

vendredi 29 février 2008 à 09:54:38 | Re : passer simplement une variable entre 2 forms
vendredi 29 février 2008 à 11:18:19 | Re : passer simplement une variable entre 2 forms

adnotlegland

En general je cherche avant de poster, j'etais tombé dessus mais ca me plaisait pas trop, j'ai trouvé plus simple :

bon le code de la form1 :

using

System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace test
{
publicpartialclassForm1 :
Form
{
public Form1()
{
InitializeComponent();
}
privatevoid button1_Click(object sender, EventArgs e)
{
Form2 frm2 = newForm2(this);
frm2.ShowDialog();
}
publicstring retour()
{
return textBox1.Text;
}
}

et celui de la form2 :

using

System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace test
{
public partial class Form2 : Form
{
privateForm1 frm1;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 f1):this()
{
frm1 = f1
}
private void Form2_Load( object sender, EventArgs e)
{
textBox1.Text = frm1.retour();
}
}
}

Je pense que c'est quand meme le moins lourd qu'en pensez vous ?? et  merci beaucoup SharpMao de m'avoir mis sur la voie

vendredi 29 février 2008 à 12:35:03 | Re : passer simplement une variable entre 2 forms

Bidou

Administrateur CodeS-SourceS
lol (...)



-My Blog-
vendredi 29 février 2008 à 14:44:01 | Re : passer simplement une variable entre 2 forms

adnotlegland

Quoi lol ? je passe à peine du VB au C#, si je dis des conneries ca serait cool de me reprendre,  ici http://www.csharpfr.com/codes/PASSAGE-PARAMETRES_26735.aspx ca me semblait pas tres clair, alors que la solution sur laquelle je me suis aiguillée c'est tres concis et sans fioriture. On te file un truc pour débutant qui est censé te montrer un truc tres tres tres basic et on te met des structures et des delegués, okay si tu veux pas faire de la POO tu fais pas du CSharp mais bon pourquoi mettre ca dans un programme qui est censé expliquer à un pauvre type comment juste passer un parametre d'une form à une autre ? Enfin je sais pas quoi  

vendredi 29 février 2008 à 14:45:55 | Re : passer simplement une variable entre 2 forms

Neo020585

Membre Club
Réponse acceptée !
Si tu ne veux passer qu'un seul paramètre, il est plus simple de faire ceci :

*********
* Form1 *
*********
private Form1()
{
    InitializeComponent();
}
private void button1_Click( object sender, EventArgs e)
{
    Form2 frm2 = new Form2 ( textbox1.Text );
    frm2.ShowDialog();
}



*********
* Form2 *
*********

private Form2()
{
    InitializeComponent();
}

public Form2( String value)
{

    textbox1.Text = value;
}

"Une chose me laisse perplexe : Est-ce moi ou les autres qui sont fous ?" A. Einstein

vendredi 29 février 2008 à 15:15:48 | Re : passer simplement une variable entre 2 forms

bubbathemaster

Et puis rappel toi qu'une form n'est qu'une classe comme une autre, tu peux tout à fait bidouiller son constructeur à ta convenance, et en particulier lui passer en argument une autre form.
vendredi 29 février 2008 à 15:33:53 | Re : passer simplement une variable entre 2 forms

adnotlegland

ha ben vi ca le fait ça , c'est bien sympathique ce petit code, donc en passant "this" t'as acces à tout ce qui est public de la form1 sinon tu peux passer n'importe quelle propriété à sa place et ca reduit le code....Et sinon ca existe pas des vrais cours au lieu de casser les coucougnettes au gens sur les forums ??


Cette discussion est classée dans : system, form2, using, passer, form1


Répondre à ce message

Sujets en rapport avec ce message

Récupérer des variables d'une Form1 à une Form2 [ par Gargantuass ] Bonjours à tous,voilà j'ai un petit problème qui est le suivant :j'ai une première fenêtre Form1 qui affiche 3 boutons si je clique sur un bouton une gérer form1 à partir de form 3 [ par benabdessamed ] bonjour, j'ai form1 qui fait appel à form2, et form2 appel à form3, puis form3 appel form1 je veut gérer form1(textbox) à partir de form3, qq peut m Passer paramètres de Form2 vers Form1 [ par Leucistic ] Bonjour, Je suis débutant en C# (et langage objet), et après plusieurs recherches sur le site et ailleurs, je n'ai rien trouvé qui me convienne.J'ai l Erreur : No suitable method found to override [ par khaoula85 ] Bonjour à toutes et à tous,J'essaie d'utiliser une procédure stockée dans une application Windows Forms avec C#, mais au moment de la compilation, on Object reference not set to an instance of an object [ par benabdessamed ] bonjour j'ai message d'erreur suivant :[color=red] Object reference not set to an instance of an object[/color] lorsue je veut modifie un composant d afficher le contenue d'un textbox [ par cliantusse ] cliantusse Bonjour,j'ai deux forms, la 1ere contient un  textbox et un label, la 2eme c message d'erreur [ par dorine82 ] salut à tous,j' ai ecrit un code qui devrait pouvoir lire mon fichier et le mettre dans un tableau mais je recois un message d' erreur.mon fichier est Passer d'une form a une autre :s [ par wally88 ] Bonjour, alors j'ai vraiment du mal mais je n'arrive pas a passer d'une form a une autre. Dumoin afficher la form2 depuis un bouton placer sur la form [C#][DirectShow] Capturer flux video [ par mecano14 ] Bonjour, j'utilise le code suivant pour afficher le flux video d'une webcam dans un pictureBoxDans le code en dessous on utilise un panel mais c'est e application qui freeze [ par warenbe ] Bonjourj'ai un probleme avec une application...je veux faire un petit serveur qui fonctionnerai en TCPil marche mais mal: je ne peux pas le fermer...


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,820 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales