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 :

Modifier un LABEL dans chaque Onglet d'un TabControl


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Modifier un LABEL dans chaque Onglet d'un TabControl
    Bonjour,

    Je me casse la tête depusi trop longtemps pour finalement venir vous demander.

    J'ai un tabControl avec une 20aione d'onglets.
    Les pages sont divisées en 2. coté gauche pour l'affichage de mes data, coté droit pour les boutons.
    Les 3/4 des onglets ont les même boutons....

    On m'a demandé d'ajouter un texte indiquant la date et heure d'un fichier texte sur le réseau ; çà aussi pas de probléme.

    C'est un LABEL dans un GROUPBOX (pour faire une belle présentation). Et je n'arrive à mettre à jour que le label du premier onglet.

    Voici mon code:

    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
    27
    28
        Private Sub RefreshISIS_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RefreshISIS.Tick
            Dim sNom As String = LinkExtractISIS() 'Lien du fichier d'extraction ISIS
     
            For Each GB As Control In Me.TabControl.SelectedTab.Controls
                If TypeOf (GB) Is System.Windows.Forms.GroupBox Then
                    If (GB.Text = "MAJ APO") Then
                        For Each TB As Control In GB.Controls
                            If TypeOf (TB) Is System.Windows.Forms.Label Then
                                If (TB.Name = "HeureISIS") Then
     
                                    If (File.Exists(sNom)) Then
                                        If (maj_planning <> IO.File.GetLastWriteTime(sNom).ToString()) Then
                                            maj_planning = IO.File.GetLastWriteTime(sNom).ToString()
                                            TB.Text = "MAJ le " & Format(maj_planning, "dddd dd/MM/yyyy") & " à " & Format(maj_planning, "HH:mm")
     
                                            DateTimePicker_ValueChanged(DateTimePicker, System.EventArgs.Empty)
                                        End If
                                    Else : TB.Text = "Fichier d'extraction inexistant ou en cours de création"
                                    End If
     
                                End If
                            End If
                        Next
                    End If
                End If
            Next
     
        End Sub
    Cette derniére versio nde code est sencé mettre à jour le label de l'onglet sélectionné.
    Mais rien n'y fait.

    Merci de m'aider

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Tu pourrais chercher le contrôle par nom avec la méthode Find. En supposant que les contrôles aient le même nom sur chaque onglet (je suppose aussi que le contenu de chaque onglet est un UserControl, sinon c'est pas possible d'avoir le même nom) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For Each ctl In Me.TabControl.Controls.Find("NomDuControle", True)
     
        If Not ctl Is Label Then: Continue
     
        Dim lbl As Label = CType(ctl, Label)
        lbl.Text = ...
     
    Next

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Merci pour ton aide? mais après plusieurs tentative, je ne réussissait pas à faire ce que je voulais.
    Donc j'ai fini par donner un nom différent à chaque label de chaque page, en y incorporant le nom de l'onglet...

    J'ai cherché pour définir le TabControl en UserControl, mais rien trouvé de vraiment explicite...

    Merci quand même, tu me montre que je ne sais pas tout

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par lkaiman Voir le message
    Merci quand même, tu me montre que je ne sais pas tout
    Je te rassure, moi non plus

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

Discussions similaires

  1. Répéter une liste de nom dans chaque Onglet
    Par sony25 dans le forum Excel
    Réponses: 1
    Dernier message: 04/12/2011, 15h07
  2. Menu accordion dynamique avec dans chaque onglet un treePanel
    Par beben06 dans le forum Ext JS / Sencha
    Réponses: 3
    Dernier message: 12/07/2010, 09h51
  3. Modifier un label dans un CFileDialog
    Par niocnioc dans le forum Visual C++
    Réponses: 2
    Dernier message: 15/01/2010, 18h21
  4. Mes cases à cocher apparaissent dans chaque onglet
    Par beegees dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 31/05/2009, 21h08
  5. Modifier un Label dans une fonction Shared
    Par twixi dans le forum Windows Forms
    Réponses: 5
    Dernier message: 25/06/2008, 11h26

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