Contrôles

Résolu
Signaler
Messages postés
7
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
29 juillet 2005
-
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
-
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

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
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()

@+