Référence d'objet d'un label en VB??
Youp!!
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
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??
- Label printer logiciel - Télécharger - Outils professionnels
- Objet interdit en cabine ryanair - Guide
- Vente objet occasion entre particulier - Guide
- Trouver objet avec photo - Guide
- Mesurer un objet - 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.