Problème de données entre 2 formulaires

cs_grossevache Messages postés 6 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 27 juillet 2004 - 28 juin 2004 à 17:32
alicvb Messages postés 134 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 6 juin 2007 - 28 juin 2004 à 18:17
Bonjour, travaillant sous .NET :

j'ai deux fomulaires form1 et form2

dans le form1, j'ai une listbox ListBox1

J'aimerai récuperer dans une textBox de la form2 la valeur de la listBox1 selectionnée

J'ai donc celà
form1 ....

'form1Load
dim form2 as new form
form.show()

ListBox1 ....

form2 ....

TextBox1 ....

private sub textboxchanged(....)
dim form as Form1
TextBox1.Text=form.ListBox1.SelectedItem
end sub

Celà me renvoie une erreur comme quoi, il ne trouve pas l'objet ListBox1...

J'ai donc opté pour autre chose :

form1 ....
'variable globale :
dim strwork as String

'form1Load
dim form2 as new form
form.show()

ListBox1 ....

private sub ListBox1_Selectedchanged(....) handles ....
.....

strwork = ListBox1.SelectedItem
end sub

public function get_nom()
return(strwork)
end sub

form2

form2 ....

TextBox1 ....

form2 ....

TextBox1 ....

private sub textboxchanged(....)
dim form as Form1
TextBox1.Text=form.get_nom()
end sub

Et j'ai toujours mon erreur..... comment faire ?

1 réponse

alicvb Messages postés 134 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 6 juin 2007 1
28 juin 2004 à 18:17
le problème vient que dans ton évennement textboxchanged, tu crée une nouvelle instance de form1.
à ta place, je ferait un truc du style :

dans un module :
public f1 as new form1
public f2 as new form2

sub main()
Application.Run(f1) 'ceci lance ton application avec l'affichage de ta form1

end sub

dans les propriétés du projet, tu le fait démarrer sur main
et à chaque fois que tu dois faire référence à une de tes deux form, tu passe par f1 ou f2 :

par exemple dans le code de ta form1 :

private sub listbox1_selecteditemchanged(...)
f2.textbox.text=me.listbox1.selecteditem
end sub

est-ce que tu cherchait ?
0