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

Windows Forms Discussion :

Choisir l'index d'un onglet dans un tabcontrol


Sujet :

Windows Forms

  1. #1
    Membre régulier Avatar de Chacha35
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 264
    Points : 114
    Points
    114
    Par défaut Choisir l'index d'un onglet dans un tabcontrol
    Bonjour,

    J'ai un tabcontrol avec des onglets. Lorsque l'utilisateur click sur un bouton du form il peut supprimer des onglets et en rajouter.

    Au départ il n'y a qu'un onglet visible, mais je crée plusieurs pages dans mon designer.

    J'ai tenter tabpage1.Hide() et show() mais ce n'est que l'intérieur de la page qui devient invisible mais l'onglet ne disparait pas.

    Voilà ce que j'ai fais:

    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
     
     
    // dans l'instanciation du form, pour supprimer l'onglet que je souhaite cacher
    TabInfoClt.TabPages.Remove(PageExp);
     
    //Dans l'événement clique
     
            private void AffExp_Click(object sender, EventArgs e)
            {
                if (AffExp.Checked == true)
                {
                    TabInfoClt.TabPages.Add(PageExp);
                }
                else
                {
                    TabInfoClt.TabPages.Remove(PageExp);
                }
            }
    Mais le problème c'est qu'avec Add on ne choisie pas l'index de la page et donc après des ajouts et des suppressions , les onglets ne sont jamais dans le même ordre.

    J'ai eu le même problème avec une datatable, je voulais ajouter une colonne à la première position sans l'ajouter en premier, bien sûr pour des raisons trop longues à expliquer. Et je n'ai pas trouvé.

    Merci d'avance

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    si tu cherches juste à réordonner des pages dans le TabControl, voilà déjà comment inverser 2 pages :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	TabPage[] pages = new TabPage[tabControl1.TabPages.Count];
    	pages[0] = tabControl1.TabPages[0];
    	pages[1] = tabControl1.TabPages[1];
     
    	tabControl1.TabPages.Remove(tabControl1.TabPages[0]);
    	tabControl1.TabPages.Remove(tabControl1.TabPages[0]);
     
    	tabControl1.TabPages.Add(pages[1]);
    	tabControl1.TabPages.Add(pages[0]);
    c'est bourrin mais ça fonctionne.

    Après tu peux adapter à ton cas perso.

  3. #3
    Membre régulier Avatar de Chacha35
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 264
    Points : 114
    Points
    114
    Par défaut
    Ok merci beaucoup, c'est vrai que c'est un peu lourd mais bon ça marche!

    J'attend encore un peu avant le Résolu, si quelqu'un à quelque chose de plus direct.

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    à la réflexion, je me demande si le passage par un tableau intermédiaire est bien nécessaire. Si ça se trouve, le fait de faire un remove des pages ne les détruit pas. Tu devrais essayer un simple remove puis un Add des tabpages par leur nom



    suite ...

    Effectivement, ça fonctionne aussi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while (tabControl1.TabPages.Count > 0)				tabControl1.TabPages.Remove(tabControl1.TabPages[0]);
     
    tabControl1.TabPages.Add(tabPage2);
    tabControl1.TabPages.Add(tabPage1);

  5. #5
    Membre régulier Avatar de Chacha35
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 264
    Points : 114
    Points
    114
    Par défaut
    Ok super Merci!

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/02/2015, 12h09
  2. Insertion de n onglets dans une TabControl
    Par planeurbret dans le forum VB.NET
    Réponses: 3
    Dernier message: 23/01/2013, 10h41
  3. Réponses: 5
    Dernier message: 11/05/2009, 14h10
  4. Réponses: 4
    Dernier message: 20/04/2009, 11h18
  5. Définir l'ordre des onglets dans un TabControl
    Par soso78 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 20/12/2007, 14h57

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