Forum Clubic

[VB .Net 2005] passage de variable entre fonctions - [RESOLU]

Bonjour,

voici le code que j’ai :


Private Sub listeDesMessages_SelectedIndexChanged  [...]
       MsgBox(test)
End Sub

Private Sub Form1_Load   [...]
        Dim test As String = "coucou man"
        [...]
End Sub

en gros, un Form1 se charge. Puis lorsque je veux cliquer sur une listebox (listeDesMessages_SelectedIndexChanged qui se trouve dans le Form1 biensur) je voudrais afficher la variable "test" qui est défini dans ce Form1. Je ne sais pas comment résoudre ce problème. :??:

C’est impossible, vu que tu définis “test” comme une variable locale de la méthode Form1_Load.

La solution serait de définir “test” en temps que champ privé de la classe Form1, en mettant “Private test As String = “coucou man”” au début de ta classe. A partir de la, tu pourras accéder a “test” de n’importe ou dans ta classe.

oui je comprend mais en fait (là c’était pour l’exemple) mais “test” je ne la connais que à la fin du Form1_Load :confused: je ne peux pas lui attribuer de valeur dès le début :confused:

le "test" sera en fait un tableau que je rempli dans le Form1_LOad, et ensuite avec la listebox, dès que je cliquerai sur une occurence je voudrais la rechercher dans le tableau "test".

il y a forcément une solution je suppose :sweet:

Pas de probleme, tu crées ta variable en tant que “Private test As String” dans ta classe, et tu lui donne un valeur dans Form1_Load apres via “test = “coucou””, l’important étant de déclarer ta variable au niveau de ta classe pour qu’elle soit accessible de partout, et non juste dans Form1_Load. :wink:

ah ba oui d’accord, j’avais mal compri. effectivement ça marche nickel comme ça :super:

merci :jap: (c’était simple en + :slight_smile: )