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 :

ouvrir un tabpag dont le nom est contenu dans un variable [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    ergotherapeute
    Inscrit en
    Août 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ergotherapeute
    Secteur : Santé

    Informations forums :
    Inscription : Août 2012
    Messages : 86
    Points : 67
    Points
    67
    Par défaut ouvrir un tabpag dont le nom est contenu dans un variable
    Bonjour,

    est-il possible de selectionner un tabpage dont le nom serait contenu dans une variable ?
    je travaille sur un exemple simplifier pour résoudre un pb plus complexe : j'ai un form (form1) contenant un bouton (BT1) et un tabcontrol contenant la tabpage (TP_BT1)
    Dans l'exemple simplifié il s'agit de selectionner la tabpage "TP_BT1" en cliquant sur le BT1.
    biensure je pourrais écrire tout simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Sub BT1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT1.Click
            Me.TabControl1.SelectedTab(TP_BT1)
        End Sub
    Mais je le répète le fait de résoudre ce pb simple me permettera de résoudre un pb beaucoup plus complexe..l'idée est de comprendre comment passer par la manipulation de variable:
    J'ai essayé ceci mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         Private Sub BT1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT1.Click
            Dim TP As TabPage
            TP.Name = "TP_" & sender.Name
            Me.TabControl1.SelectedTab(TP)
        End Sub
    il me souligne la dernière ligne et me dit "un accès à la propriété doit assigner la propriété ou utiliser sa valeur".
    merci pour votre aide...

  2. #2
    Membre du Club
    Homme Profil pro
    ergotherapeute
    Inscrit en
    Août 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ergotherapeute
    Secteur : Santé

    Informations forums :
    Inscription : Août 2012
    Messages : 86
    Points : 67
    Points
    67
    Par défaut
    bon finalement je pense avoir trouvé quelque chose d'intéressant, en tout cas ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Private Sub frmEvent_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            AddHandler BT1.Click, AddressOf select_tp
            AddHandler BT2.Click, AddressOf select_tp
            AddHandler BT3.Click, AddressOf select_tp
        End Sub
     
        Private Sub select_tp(ByVal sender As System.Object, ByVal e As System.EventArgs)
            Dim nom As String = "TP_" & sender.name
            For Each ctrl As Control In TabControl1.TabPages
                If ctrl.Name = nom Then
                    TabControl1.SelectedTab = ctrl
                End If
            Next
        End Sub

  3. #3
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonjour,

    voici un code fonctionnel plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            Dim variableNomPage As String = "TabPage2"
            If TabControl1.TabPages.ContainsKey(variableNomPage) Then
                TabControl1.SelectedTab = TabControl1.TabPages(variableNomPage)
            Else
                MessageBox.Show("Il n'existe aucune page nommée " & variableNomPage)
            End If
    En règle général, les collections d'éléments ont un moyen de savoir si un élément existe dans celle-ci et peuvent l’appeler directement.

  4. #4
    Membre du Club
    Homme Profil pro
    ergotherapeute
    Inscrit en
    Août 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ergotherapeute
    Secteur : Santé

    Informations forums :
    Inscription : Août 2012
    Messages : 86
    Points : 67
    Points
    67
    Par défaut
    je vais encore me coucher moins bête ce soir...

    encore un grand merci à toi Sankasssss

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

Discussions similaires

  1. Ouvrir un fichier dont le nom est contenu dans un autre
    Par camillerufu dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/04/2015, 16h50
  2. [Toutes versions] Mettre le focus sur un champ dont le nom est contenu dans une variable
    Par possible924 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/04/2015, 21h32
  3. Réponses: 3
    Dernier message: 07/01/2010, 16h54
  4. Réponses: 7
    Dernier message: 25/10/2005, 15h19
  5. [Reflection] Executer une fonction dont le nom est contenu dans un String
    Par christobal dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 05/07/2004, 15h23

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