IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

LABEL dans un PANEL, changer dynamiquement la valeur text du LABEL


Sujet :

VB.NET

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Points : 146
    Points
    146
    Par défaut LABEL dans un PANEL, changer dynamiquement la valeur text du LABEL
    Bonjour,

    Dans une form j'ai 8 palettes contenant 6 cartons chacun. J'ai donc 6 labels par emplacement.
    Chaque label est contenu dans un PANEL (1 image, un bouton et le label en question)
    Nom : Form.jpg
Affichages : 177
Taille : 73,5 Ko

    Nom des labels :
    L_Pal1Box1,L_Pal1Box2, L_Pal1Box3, L_Pal1Box4, L_Pal1Box5, L_Pal1Box6

    Depuis le résultat d'une requette SQL, j'obtiens un emplacement (exemple : L_Pal1Box1) et un numéro de carton (exemple : 123456).
    L'objectif et d'associer le n° de carton (source SQL) sur le bon emplacement dans la form.
    Mon probleme est que les label sont contenu dans un PANEL. Je ne parviens pas a modifier la valeur TEXT de mes labels.
    En dehors des panel ca fonctionne.

    Voici mon code pour vérifier si le label existe puis mise à jour de la valeur text.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
       Dim DS As New DataSet
            DS = SourceOfCheck()
     
            Try
                For i As Integer = 0 To DS.Tables(0).Rows.Count - 1
                    Dim LAB As String = DS.Tables(0).Rows(i).Item("LABELBOX")
                    Dim BOX As String = DS.Tables(0).Rows(i).Item("BOX_NUMBER").ToString
     
                    Dim l As Label = CType(Controls(LAB), Label)
     
                    'Recherche si Label existe
                    Dim myControl1 As Control = l
                        If (Not myControl1 Is Nothing) Then
                        l.Text = BOX 'si existe affichage
                    End If
                    Next i
     
     
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Information, "CheckAtFirst")
            End Try
    En espérant être clair.
    Merci pour votre aide.

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Points : 146
    Points
    146
    Par défaut
    Un schema de ma FORM pour mieux comprendre..

    Nom : form schema.jpg
Affichages : 163
Taille : 56,6 Ko

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    Salut,

    J'ai testé et ça fonctionne, est-ce que ton l donne vraiment un label, si ton l = nothing tu as peut-être un erreur de nom de label?

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Points : 146
    Points
    146
    Par défaut
    Je n'ai pas de message d'erreur. Il ne se passe rien puis qu'il ne trouve pas le nom du label.
    Si le label est à l'intérieur du Panel alors il ne se passe rien. Par contre, en dehors, ca fonctionne..

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    D'après moi il faut que tu listes tes panels et que tu recherches dans chacun d'eux

  6. #6
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Points : 146
    Points
    146
    Par défaut
    Je pense avoir trouvé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     Dim DS As New DataSet
            DS = SourceOfCheck()
     
            Try
     
     
                For i As Integer = 0 To DS.Tables(0).Rows.Count - 1
                    Dim LAB As String = DS.Tables(0).Rows(i).Item("LABELBOX")
                    Dim BOX As String = DS.Tables(0).Rows(i).Item("BOX_NUMBER").ToString
                    Dim PAL As String = DS.Tables(0).Rows(i).Item("PALETTE")
     
                    For Each ctrl As Control In CType(Controls(PAL), Panel).Controls
                        ctrl.Name = LAB
                        If ctrl.GetType.ToString = "System.Windows.Forms.Label" Then
                            ctrl.Text = BOX
                        End If
     
     
     
                    Next
     
                Next i
     
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Information, "CheckAtFirst")
            End Try

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/12/2010, 09h50
  2. changer dynamique la valeur d'un champ src
    Par debo41 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/06/2009, 08h53
  3. charger une image dans un panel en dynamique?
    Par Mickey.jet dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/07/2007, 04h03
  4. Réponses: 15
    Dernier message: 26/06/2006, 16h45
  5. Comment changer dynamiquement la valeur d'une option de DbGrid ?
    Par Atrebate62 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/03/2005, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo