yornletard
Messages postés6Date d'inscriptionlundi 14 juillet 2003StatutMembreDernière intervention 6 octobre 2008
-
3 oct. 2008 à 10:21
yornletard
Messages postés6Date d'inscriptionlundi 14 juillet 2003StatutMembreDernière intervention 6 octobre 2008
-
6 oct. 2008 à 11:56
Bonjour,
j'ai sur un formulaire une listbox, et je voudrais, sur simple click d'un bouton, alimenter une autre listbox.
J'y parviens si celle-ci se trouve sur le même formulaire, mais pas si elle appartient à un autre....
ça, ça marche :
LSTboiss.txt() = LSTboiss.selectedIndex
LSTtest.items.add(LSTboiss.text)
mais cette ligne, ou je veux alimenter la listbox du formulaire FRMmenu, ne fonctionne pas (LST.test s'alimente lorsque j'appuie sur le bouton, mais pas LSTcourse), et visual studio ne me retourne pas d'erreur.
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 3 oct. 2008 à 16:29
Salut Yornletard,
Comment charges-tu ton formulaire FRMmenu?
Il faut faire attention que lorsque tu tape FRMmenu dans ton code, qu'il s'agisse bien de la référence de ton formulaire visible, et pas d'un autre formulaire FRMmenu.
Ceci est la façon de faire la plus propre, car VB créé de toute façon une instance de chaque formulaire de ton projet au chargement de l'application. Ces instances sont accessibles par My.Forms ou simplement en tapant le nom du formulaire dans le code:
Sub ShowFRMmenu
My.Form.FRMmenu.Show
' Ce qui donne la même chose que:
FRMmenu.Show
End Sub
Ce qui se fait souvent aussi, c'est de déclarer une variable privée ou publique qui contiendra l'instance de ton formulaire. Tu peux alors y accéder par cette variable (MyForm dans ce cas). Ceci se fait nottement lorsque on veux afficher plusieurs fois un même formulaire:
Private MyForm As New FRMmenu
Sub ShowFRMmenu
MyForm .Show
End Sub
Ceci par contre ne fonctionnera pas. Le formulaire s'affiche et est fonctionnel, mais il est alors plus compliqué d'y accéder par la suite, car aucune variable globale ne fait référence à son instance (On peux y accéder par une collection des formulaires chargés dans My.Application.OpenedForms sauf erreur). Toutefois, cette technique est souvent utilisé pour afficher une boite de dialogue modale par exemple, qui n'a pas besoins d'être modifié une fois affichée :
Sub ShowFRMmenu
Dim MyForm As New FRMmenu