Probleme de gestion d'objet ave cleur noms

Résolu
Signaler
Messages postés
202
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
10 février 2009
-
Messages postés
202
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
10 février 2009
-
Bonjour, je fais un programme ou j'ai plusieur NumericUpDown sur ma form mais je ne sais pas combien d'éléments vont venir s'incruster dedans  vu que je sort les donées d'une base. 

Donc je dois les gèrer avec leur noms mais en arrivant a la ligne "nud = me. Controls..." il me dit "La référence d'objet n'est pas définie à une instance d'un objet.". Mais si je met "me.numericupdown100" a la palce de "me.controls..." ca fonctionne.

Mais je ne pige pas pourquoi, est-ce que quelqu'un pourrait m'aider plz??


Dim




nud

As
NumericUpDown


Dim
xItems

As



Integer
= 100




nud =
Me
.Controls.Item(

"NumericUpDown"
& xItems)


nud.Value = 0



--------------------->>
Ordi, frigo, dodo...
Quelle dur journée!

8 réponses

Messages postés
202
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
10 février 2009

C'est bon j'ai trouvé! Enfait vu que mon numericupdown etait dans un onglet d'un tabpage il voulait pas me le trouvé sur le "me" jai du mettre "me.tabpage1. etc...". J'était sur que c'était tou con comme solutions ^^
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

Est ce que le control appelée NumericUpDown100 existe réellement

J'ai testé ceci. 3 NumericUpDOwn sur une feuille et un bouton. Ce code:

;   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Static i As Integer
        i += 1
        Dim ctrl As NumericUpDown

        ctrl = Me.Controls.Item("NumericUpDown" & i.ToString)

        ctrl.Value = ctrl.Value + 1

    End Sub, ----
(Coloration syntaxique automatique par Kenji)

j'ai la meme erreur lorsque i = 4 (normal le control n'existe pas.)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
202
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
10 février 2009

Bug de M****. Ben oui qu'il existe vu que quand je remplace "Me .Controls.Item("NumericUpDown" & xItems)" par "me.NumericUpDown100" ca fonctionne. C'est peut etre le ".ToString" après le xItems que jai pas mis qui fais tout planté
Messages postés
202
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
10 février 2009

Enfait y passe par la commande mais il me dit rien il laisse la variable "nud" a "nothing" et c'est la commande d'après que ca plante
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
Bonjour,

Même sans le .tostring avec ton code je n'ai pas de problème ça me remet bien la valeur 0 au numericupdown..
9a plante c'est à dire??Tu as un message d'erreur?


Comme jrivet, j'obtiens le message d'erreur si le contrôle n'existe pas..Il est bien sur la même form?
Messages postés
202
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
10 février 2009

Oui, oui, ils sont sur la même forme vu que ca fonctionne avec "Me.NumericUpDown100", comme je l'ai expliquer plus haut.

le tostring ca maurait etonné que ca change quelque chose jai essayer avec un autre projet ca fonctionne mais sur celuil la pas.
--------------------->>
Ordi, frigo, dodo...
Quelle dur journée!
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
Et vu que c'est le numéro 100 il y en a d'autres avant avec lesquels ça fonctionne?
N'as tu pas mis un espace de trop avec le guillemet?
Et avant le nud.value peux tu faire un msgbox nud.name?

Dimnud
AsNumericUpDown

DimxItems
As
Integer= 100

nud = Me .Controls.Item( "NumericUpDown " & xItems)
nud.Value = 0
Messages postés
202
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
10 février 2009

yen a 2-3 avant mais c'est parcque je gere avec dautre truc et 100 est un nombre assez haut donc comme ca tout les controls on le meme n°, et il n'y as pas d'espace clandestins dans le nom et pour la msgbox il me met toujour la meme erreur mais si tu veu nud reste a nothing il passe dans le ligne mais reste a nothing

--------------------->>
Ordi, frigo, dodo...
Quelle dur journée!