OVH Cloud OVH Cloud

Accéder à des composantes d'une form

1 réponse
Avatar
Valérie
Bonjour !

J'aimerais savoir comment faire pour acc=E9der aux=20
contr=F4les d'une feuille (form) lorsque l'on =E9crit du code=20
sur une autre feuille. Par exemple, j'ai une feuille=20
frmContacts et je dois acc=E9der =E0 des contr=F4les sur une=20
feuille frmClients. Lorsque je d=E9clare dim frm as=20
frmClients dans une proc=E9dure (exemple closing), je peux=20
acc=E9der =E0 mes contr=F4les (Exemple: frm.txtNoClient.text)=20
mais lors de l'ex=E9cution il me met l'erreur suivante:

Object reference not set to an instance of an object.

alors j'ai essay=E9 avec un new pour cr=E9er une instance. Ca=20
fonctionne mais je perds les infos (valeurs) contenues=20
dans mes contr=F4les.

Que faire ?

Merci pour votre aide.

1 réponse

Avatar
AlexC
Salut,

Il faut travailler avec la bonne instance de ta form ( une classe donc )

Public Class Form1
(...)
Private SubForm as Form2
Public Sub AfficherForm2
SubForm = New Form2
End Sub
Public Sub RecupererInfos
If Not SubForm is nothing then
Me.Label1.text = SubForm.TextBox1.Text
Else
AfficherForm2
End if
End Sub
End Class


"Valérie" a écrit dans le message de
news: 240c01c4b063$fba3bf80$
Bonjour !

J'aimerais savoir comment faire pour accéder aux
contrôles d'une feuille (form) lorsque l'on écrit du code
sur une autre feuille. Par exemple, j'ai une feuille
frmContacts et je dois accéder à des contrôles sur une
feuille frmClients. Lorsque je déclare dim frm as
frmClients dans une procédure (exemple closing), je peux
accéder à mes contrôles (Exemple: frm.txtNoClient.text)
mais lors de l'exécution il me met l'erreur suivante:

Object reference not set to an instance of an object.

alors j'ai essayé avec un new pour créer une instance. Ca
fonctionne mais je perds les infos (valeurs) contenues
dans mes contrôles.

Que faire ?

Merci pour votre aide.