cs_lagoelle
Messages postés102Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention17 mars 2009
-
22 mars 2005 à 10:57
cs_lagoelle
Messages postés102Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention17 mars 2009
-
22 mars 2005 à 20:42
Salut,
Je me retrouve devant un problème: j'ai une form principale (Form1) quand je click sur un bouton "nouveau" , Form2 apparait avec des champs de saisie. Je voudrais qu'à la fermeture les données saisies apparaissent dans un dataGrid ou un listBox ou autres...
En VB, on pouvait dans le code de la Form2, utilisez ce genre de commande:
Form1.textBox1.Text = Form2.textBox2.Text
dito avec un listBox ou autres
J'ai essayé en C#, ça ne fonctionne pas. Je pense que c'est une histoire de Public, static, private mais je n'arrive pas à m'en sortir. (pour les valeurs des variables, j'ai réussi en la déclarant ainsi Public static int Compteur par ex)
Si quelqu'un peut m'expliquer comment ça marche en C# ...
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 22 mars 2005 à 11:22
Salut,
Cette question a été posée des 10aines et des 10aines de fois, fait une recherche sur le forum (passage de paramètre); tu peux aussi regarder dans mes sources....
cs_lagoelle
Messages postés102Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention17 mars 2009 22 mars 2005 à 15:17
Salut et merci bidou (breton ?),
Ta source est très bien, mais existe t-il un moyen plus simple comme en VB:
Form1.listBox1.AddItem (Form2.textBox.Text) par exemple.
En gros, est ce qu'on peut déclarer les composants en accès libre à partir de toutes les forms d'une appli, comme pour les variables avec public et static ?
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 22 mars 2005 à 16:23
Non pas breton, à vrai dire même pas français
Oui il existe d'autre méthode alternative :
Une idée est de placer le composant en public, mais tu devrais à ce moment posséder une référence dans ta class appelante.
Exemple :
// Construire la deuxieme form en y donnant la référence de la première
frmSec fS = new frmSec();
fS.MainForm = fM; // A toi de faire cet attribut
fS.Show();
// Dans la 2ème form
this.fM.monComposant. (...) // Accède à l'élément public via la référence
Mais cette méthode est moins propre que l'utilisation des events.
(J'ai pas démarrer VS pour tester le code, c'est fait de tête, donc adapte si jamais y'a une petite faute ).
A+