Cacher/Afficher plusieurs Labels [Résolu]

petitcaro112 48 Messages postés lundi 19 avril 2004Date d'inscription 30 janvier 2009 Dernière intervention - 29 févr. 2008 à 12:04 - Dernière réponse : petitcaro112 48 Messages postés lundi 19 avril 2004Date d'inscription 30 janvier 2009 Dernière intervention
- 1 mars 2008 à 14:33
Bonjour tout le monde !

Je suis en train de faire une appli qui cherche si un véhicule est disponible (environ 30 véhicules) dans une base de donnée (en fonction de la date et les horaires choisis)
Une fois que l'appli a trouvé si un ou plusieurs véhicules sont disponibles, elle active les labels (label.enabled = true)correspondants aux véhicules ainsi qu'un bouton radio attribué à chaque véhicule.

Ma question est la suivante : Est-il possible d'activer plusieurs Labels à la fois (faire une boucle s'il le faut) sachant que tous mes labels ont des noms du style LblV1, LblV2, ..., LblV30 ?

Exemple de ce que je cherche à faire :

For i = 1 To Nombre_de_vehicules
LblV(i).Enabled = True
Next

Il faut que la liste de tous les véhicules soit affichée, avec les véhicules disponible et non disponible...
Si ça marche aussi pour les boutons radios, je suis évidemment preneur !!!

Ca pourrait m'être d'une très grande utilité !!
Afficher la suite 

8 réponses

Répondre au sujet
losc_cartouche 51 Messages postés mardi 6 février 2007Date d'inscription 25 mars 2008 Dernière intervention - 29 févr. 2008 à 12:30
+3
Utile
Il faut créer un groupe de contrôles:
C'est à dire que tous tes labels portent le meme nom mais chaque label est associé à un indice ou index:

LblV(0) -->pour le label 1
LblV(1) -->pour le lable 2
....
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de losc_cartouche
petitcaro112 48 Messages postés lundi 19 avril 2004Date d'inscription 30 janvier 2009 Dernière intervention - 29 févr. 2008 à 14:17
+3
Utile
C'est bon j'ai trouvé pour les groupes de controles : ICI
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de petitcaro112
losc_cartouche 51 Messages postés mardi 6 février 2007Date d'inscription 25 mars 2008 Dernière intervention - 29 févr. 2008 à 14:47
+3
Utile
tes labels sont-ils sous cette forme: Lblv(index)??

Normalement au moment de créer un groupe de controle tu as une msgbox qui te demande si tu veux créer un groupe de controle!

Pour la version express je sais pas mais en VB6 sa marche!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de losc_cartouche
petitcaro112 48 Messages postés lundi 19 avril 2004Date d'inscription 30 janvier 2009 Dernière intervention - 29 févr. 2008 à 19:11
+3
Utile
En fait avec les versions express il n'est plus possible d'utiliser les groupes de controle...
Pour résoudre mon problème, j'ai crée un tableau de Booléen du nombre de voitures et j'ai fait une fonction publique pour activer/désactiver ce que je voulais en attribuant à chaque label une case de mon tableau...
Mais encore merci pour les réponses !
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de petitcaro112
petitcaro112 48 Messages postés lundi 19 avril 2004Date d'inscription 30 janvier 2009 Dernière intervention - 1 mars 2008 à 14:33
+3
Utile
Mon problème est résolu. En fouillant un peu sur le site j'ai trouvé la réponse à ma question.

Pour résumer rapidement :
- Groupe de contrôle absent sur les versions .NET
- Il suffit de créer un tableau du nombre de valeur que l'on veut modifier
- Attribuer une "case du tableau" à chaque valeur que l'on veut contrôler.

Voici un exemple de ce que j'ai fait :
1) J'ai crée 10 Labels nommés Label1 à Label10 ainsi qu'un bouton nommé Button1 pour changer l'affichage de mes labels
2) Je déclare un tableau de Booléen contenant 10 valeur que j'appelle lbl(10)
3) Au chargement de Form1 j'initialise mon tableau à la valeur True et j'appelle la fonction publique Affichage()
4) Lorsque je clique sur le bouton, toutes les valeurs de mon tableau s'inverse à l'aide de la fonction Inversion() et ensuite j'appelle la fonction Affichage()
5) voici le code :

Public Class Form1

    Dim lbl(10) As Boolean  'Déclaration de mon tableau booléen pour les label - 10 valeurs

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Inversion()         'Appelle la fonction Inversion
        Affichage()         'Appelle la fonction Affichage

    End Sub

    Public Function Inversion()     'cette fonction Inverse les valeurs du tableau lbl()
        Dim i As Integer

        For i = 0 To 9
            lbl(i) = Not lbl(i)
        Next

        Return (1)
    End Function

    Public Function Affichage()     'Cette fonction affiche l'état des labels en fonction des valeurs du tableau
        Label1.Enabled = lbl(0)
        Label2.Enabled = lbl(1)
        Label3.Enabled = lbl(2)
        Label4.Enabled = lbl(3)
        Label5.Enabled = lbl(4)
        Label6.Enabled = lbl(5)
        Label7.Enabled = lbl(6)
        Label8.Enabled = lbl(7)
        Label9.Enabled = lbl(8)
        Label10.Enabled = lbl(9)

        Return (1)
    End Function

    'Au chargement de l'application, on initialise le tableau à la valeur True, donc les labels sont activés
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim i As Integer
        For i = 0 To 9      'boucle qui parcourt le tableau pour l'initialiser à la valeur True
            lbl(i) = True
        Next

        Affichage()         'Appel de la fonction Affichage

    End Sub
End Class
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de petitcaro112
petitcaro112 48 Messages postés lundi 19 avril 2004Date d'inscription 30 janvier 2009 Dernière intervention - 29 févr. 2008 à 14:12
0
Utile
Mais c'est génial ça !
Merci, je ne savais pas qu'il était possible de faire ça !!!

Par contre quelle est la syntaxe pour faire ça et comment ça se déclare ?

En utilisant cette méthode, est-il possible de créer des labels par la suite (faut peut etre pas trop pousser non plus !) ?

En tous cas merci beaucoup de cette réponse rapide et très utile !
Commenter la réponse de petitcaro112
petitcaro112 48 Messages postés lundi 19 avril 2004Date d'inscription 30 janvier 2009 Dernière intervention - 29 févr. 2008 à 14:26
0
Utile
Ah ben ça marche pas quand je renomme mes Labels avec un nom déjà existant...
J'ai un message qui me dit : Valeur de Propriété Non Valide, est ce parce que j'utilise une version Express et donc je n'ai pas accès à ces fonctions ???

Je perds presque espoir...
Commenter la réponse de petitcaro112
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 29 févr. 2008 à 20:22
0
Utile
salut,
problème résolu?
je suppose puique tu as validé toutes les réponses....
(normalement on ne valide que celle qui contient la bonne réponse )
Commenter la réponse de PCPT

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.