Référence d'objet d'un label en VB??
Youp!!
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis en train de réaliser un petit utilitaire en VB sur visual 2005.
A un moment j'ai besoin de remplir plusieurs label en fonction d'un test, j'ai alors utilisé le code suivant :
If resultat(i) = reponse(i) Then
score += 1
Me.Controls("Label" & i).Text = "Vrai"
Else : Controls("Label" & i).Text = "Faux"
End If
Le If fait partie d'une boucle qui incrémente i et réalise d'autres actions.
Le problème vient du fait que lors de l'éxécution, j'ai l'erreur suivante qui apparait en sélectionnant la ligne Me.Control... :
"La référence d'objet n'est pas définie à une instance d'un objet."
Et après plusieurs recherches je ne vois toujours pas d'où cela provient.
Vous auriez une idée?
Merci et Bonne soirée
Je suis en train de réaliser un petit utilitaire en VB sur visual 2005.
A un moment j'ai besoin de remplir plusieurs label en fonction d'un test, j'ai alors utilisé le code suivant :
If resultat(i) = reponse(i) Then
score += 1
Me.Controls("Label" & i).Text = "Vrai"
Else : Controls("Label" & i).Text = "Faux"
End If
Le If fait partie d'une boucle qui incrémente i et réalise d'autres actions.
Le problème vient du fait que lors de l'éxécution, j'ai l'erreur suivante qui apparait en sélectionnant la ligne Me.Control... :
"La référence d'objet n'est pas définie à une instance d'un objet."
Et après plusieurs recherches je ne vois toujours pas d'où cela provient.
Vous auriez une idée?
Merci et Bonne soirée
A voir également:
- Référence d'objet d'un label en VB??
- Vb - Télécharger - Langages
- Reference pto - Accueil - Box & Connexion Internet
- Label printer logiciel - Télécharger - Outils professionnels
- Vente objet occasion entre particulier - Guide
- Objet interdit en cabine ryanair - Guide
1 réponse
Bonjour,
En faisant une collection de tes label...
Mettre les N° des index dans le Tag des contrôles.
Attention : les clés de la collection doivent êtres en string.
A+
Et pour ton cas ça deviendrait...
Ou une autre façon qui pourrait t'apprendre quelque autre fonctions.
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
En faisant une collection de tes label...
Public Class Form1 Private Collect As New Microsoft.VisualBasic.Collection() Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim LB As Control For Each LB In Me.Controls If TypeOf LB Is Label Then Collect.Add(LB, LB.Tag) End If Next LB 'Exemple d'emploi.... Dim i As Integer For i = 1 To 4 Collect(CStr(i)).text = "Texte " & i Next '--------------------------- End Sub End Class
Mettre les N° des index dans le Tag des contrôles.
Attention : les clés de la collection doivent êtres en string.
A+
Et pour ton cas ça deviendrait...
If resultat(i) = reponse(i) Then score += 1 Collect(CStr(i)).Text = "Vrai" Else : Collect(CStr(i)).Text = "Faux" End If
Ou une autre façon qui pourrait t'apprendre quelque autre fonctions.
Dim P As Single P = (resultat(i) = reponse(i)) Score += Math.Abs(P) Collect(CStr(i)).Text = IIf(P, "Vrai", "Faux")
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.