Contrôles

Résolu
Broudubul Messages postés 7 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 29 juillet 2005 - 25 juil. 2005 à 18:14
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 - 26 juil. 2005 à 09:40
J'ai un petit problème.Net

J'ai besoin de tester les contrôles de type PictureBox que ma Form
contient pour en supprimer certains si leur Tag ne correpsond pas à ce
ke je souhaite.

Je tape donc le code suivant :



Dim v As PictureBox



For Each v In Me.Controls

If v.Tag <> "Menu" Then



Me.Controls.Remove(v)



End If



Next



Et j'ai un message d'erreur de ce type qui arrive, je ne comprend vraiment pas pourquoi.

Comment puis-je résoudre mon prob?



Additional information: La référence d'objet n'est pas définie à une instance d'un objet.

2 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
25 juil. 2005 à 18:56
Salut,

En vb6 j'aurais fait :

Dim v As Control


For Each v In Me.Controls
If TypeOf v Is PictureBox Then
If v.Tag <> "Menu" Then
Me.Controls.Remove (v)
End If
End If
Next

Mais ça ne supprime que les contrôles ajoutés avec la méthode controls.add.
Pas testé avec vb.net.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
26 juil. 2005 à 09:40
Salut,

ton message d'erreur signifie que ton objet n'existe pas. Si tu places un espion dessus, tu verras qu'il a la valeur 'Nothing'. Autrement dit, il n'est pas instancié. Tu dois faire appel au constructeur par défaut de PictureBox :

Dim v As New PictureBox()

@+
0