Accueil > Forum > > > > passer simplement une variable entre 2 forms
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
|
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
|
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
|
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...
Livres en rapport
|
Derniers Blogs
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|