Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

NAVIGATION DANS UNE TABCONTROL


Information sur la source

Catégorie :Tutoriaux Source .NET ( DotNet ) Classé sous : tabcontrol, navigation, tabpage, tutorial Niveau : Débutant Date de création : 05/06/2006 Date de mise à jour : 06/06/2006 14:48:34 Vu / téléchargé: 10 317 / 444

Note :
8 / 10 - par 3 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Voici un petit script sur les TabControl.
Il permet de passer d'une TabPage a une autre peut importe le nombre de page.
La navigation se fait grace au Index.
 

Source

  • using System;
  • using System.Windows.Forms;
  • namespace WindowsApplication1
  • {
  • public partial class Form1 : Form
  • {
  • public Form1()
  • {
  • InitializeComponent();
  • }
  • ////////////////////////
  • // TabControl - floptwo :
  • //
  • // Voici un petit script sur les TabControl.
  • // Il permet de passer d'une TabPage a une
  • // autre peut importe le nombre de page.
  • // La navigation se fait grace au Index.
  • //
  • // par floptwo.
  • ////////////////////////
  • //
  • // tabControl1.SelectedIndex :
  • // numero d'index de la tab de tabControl1
  • // selectionnée.
  • //
  • // tabControl1.TabCount :
  • // Le nombre de Tab de la tab tabControl1.
  • //
  • // button_premier.Enabled :
  • // 'button_premier' est le nom d'un des boutons
  • // 'Enabled' permet d'activer ou pas le bouton
  • // 'button_premier'.
  • // Si button_premier.Enabled = true le bouton
  • // 'button_premier' sera activé.
  • // Si button_premier.Enabled = false le bouton
  • // sera désactivé.
  • //
  • // button_premier_Click (object sender, EventArgs e) :
  • // Permet de définir les actions à effectuer lors
  • // d'un click sur le bouton premier
  • //
  • // tabControl1_Selected (object sender, TabControlEventArgs e) :
  • // Permet de définir les actions à effectuer lorsqu'une
  • // tab est selectionnée.
  • //
  • ////////////////////////
  • //
  • // Pour ceux qui se poseraient la question, j'active ou
  • // désactive les boutons de navigation au changement de
  • // tab selectionnée.
  • // Il serait tout à fait possible de le faire à chaque
  • // click en fonction de le l'index de la tab qui sera
  • // selectionnée, soit, après les tabControl1.SelectedIndex = ...
  • //
  • ////////////////////////
  • //
  • // '0' est le numero d'index de la 1ere tab
  • // donc s'il y a 5 tab, l'index de la 5eme
  • // ser '4'.
  • //
  • ////////////////////////
  • private void button_premier_Click(object sender, EventArgs e)
  • {
  • // En cliquant sur 'button_premier'
  • // la 1ere tab sera selectionner
  • tabControl1.SelectedIndex = 0;
  • }
  • private void button_precedent_Click(object sender, EventArgs e)
  • {
  • // Si la tab selectionnée n'est pas la premiere
  • if (tabControl1.SelectedIndex > 0)
  • {
  • // La tab selectionnée sera celle dont l'index sera son index - 1
  • // si son index est 4 la tab a selectionner sera 3 : 4 - 1
  • tabControl1.SelectedIndex = tabControl1.SelectedIndex - 1;
  • }
  • }
  • private void button_suivant_Click(object sender, EventArgs e)
  • {
  • // Il ne peut il y avoir une tab suivante que si son l'index
  • // de la tab selectionnée est inferieur au nombre de tab.
  • // S'il y a 5 tab l'index de la 5eme est 4, donc si la 5eme tab
  • // qui a pour index 4 est selectionée, la prochaine tab (la 5eme)
  • // aura pour index sera 5 (= 4 + 1)
  • // or 5 n'est pas inferieur au (ou different du) nombre de tab
  • // c'est a dire 5, il n'y aura donc pas de tab suivante!
  • if (tabControl1.SelectedIndex < tabControl1.TabCount)
  • {
  • // La tab à selectionner est la prochaine
  • // On ajoute donc 1 a l'index de la tab selectionnée
  • // 3eme tab selectionnée la prochaine est la 4eme :
  • // 4 = 3 + 1.
  • tabControl1.SelectedIndex = tabControl1.SelectedIndex + 1;
  • }
  • }
  • private void button_dernier_Click(object sender, EventArgs e)
  • {
  • // S'il y a 5 tab l'index de la 5eme est 4,
  • // donc on retir 1 au nombre de tab et on obtient
  • // l'index de la derniere table.
  • tabControl1.SelectedIndex = tabControl1.TabCount - 1;
  • }
  • // A chaque changement de tab...
  • private void tabControl1_Selected(object sender, TabControlEventArgs e)
  • {
  • // Si la premiere tab est selectionnée...
  • if (tabControl1.SelectedIndex == 0)
  • {
  • // On désactive les boutons premier et précédent
  • button_premier.Enabled = false;
  • button_precedent.Enabled = false;
  • button_suivant.Enabled = true;
  • button_dernier.Enabled = true;
  • }
  • // Si c'est la dernière tab qui est selectionnée...
  • else if (tabControl1.SelectedIndex == tabControl1.TabCount - 1)
  • {
  • // On désactive les boutons suivant et dernier
  • button_premier.Enabled = true;
  • button_precedent.Enabled = true;
  • button_suivant.Enabled = false;
  • button_dernier.Enabled = false;
  • }
  • // Si ni la permière ni la dernière qui est selectionnée...
  • else
  • {
  • // On active tous les boutons
  • button_premier.Enabled = true;
  • button_precedent.Enabled = true;
  • button_suivant.Enabled = true;
  • button_dernier.Enabled = true;
  • }
  • }
  • ////////////////////////
  • // par floptwo.
  • ////////////////////////
  • }
  • }
using System;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        ////////////////////////
        // TabControl - floptwo :
        //
        // Voici un petit script sur les TabControl.
        // Il permet de passer d'une TabPage a une 
        // autre peut importe le nombre de page.
        // La navigation se fait grace au Index.
        //
        // par floptwo.
        ////////////////////////
        //
        // tabControl1.SelectedIndex : 
        //   numero d'index de la tab de tabControl1
        //   selectionnée.
        //
        // tabControl1.TabCount : 
        //   Le nombre de Tab de la tab tabControl1.
        //
        // button_premier.Enabled :
        //   'button_premier' est le nom d'un des boutons
        //   'Enabled' permet d'activer ou pas le bouton  
        //   'button_premier'.
        //   Si button_premier.Enabled = true le bouton 
        //   'button_premier' sera activé.
        //   Si button_premier.Enabled = false le bouton 
        //   sera désactivé.
        //
        // button_premier_Click (object sender, EventArgs e) :
        //   Permet de définir les actions à effectuer lors
        //   d'un click  sur le bouton premier
        //
        // tabControl1_Selected (object sender, TabControlEventArgs e) :
        //   Permet de définir les actions à effectuer lorsqu'une
        //   tab est selectionnée.
        //
        ////////////////////////
        //
        // Pour ceux qui se poseraient la question, j'active ou
        // désactive les boutons de navigation au changement de
        // tab selectionnée. 
        // Il serait tout à fait possible de le faire à chaque 
        // click en fonction de le l'index de la tab qui sera
        // selectionnée, soit, après les tabControl1.SelectedIndex = ...
        //
        ////////////////////////
        //
        // '0' est le numero d'index de la 1ere tab
        // donc s'il y a 5 tab, l'index de la 5eme
        // ser '4'.
        //
        ////////////////////////

        private void button_premier_Click(object sender, EventArgs e)
        {
            // En cliquant sur 'button_premier'
            // la 1ere tab sera selectionner
            tabControl1.SelectedIndex = 0;
        }

        private void button_precedent_Click(object sender, EventArgs e)
        {
            // Si la tab selectionnée n'est pas la premiere
            if (tabControl1.SelectedIndex > 0) 
            {
                // La tab selectionnée sera celle dont l'index sera son index - 1
                // si son index est 4 la tab a selectionner sera 3 : 4 - 1
                tabControl1.SelectedIndex = tabControl1.SelectedIndex - 1;
            }
        }

        private void button_suivant_Click(object sender, EventArgs e)
        {
            // Il ne peut il y avoir une tab suivante que si son l'index
            // de la tab selectionnée est inferieur au nombre de tab.
            // S'il y a 5 tab l'index de la 5eme est 4, donc si la 5eme tab
            // qui a pour index 4 est selectionée, la prochaine tab (la 5eme)
            // aura pour index sera 5 (= 4 + 1)
            // or 5 n'est pas inferieur au (ou different du) nombre de tab
            // c'est a dire 5, il n'y aura donc pas de tab suivante!
            if (tabControl1.SelectedIndex < tabControl1.TabCount)
            {
                // La tab à selectionner est la prochaine
                // On ajoute donc 1 a l'index de la tab selectionnée
                // 3eme tab selectionnée la prochaine est la 4eme : 
                // 4 = 3 + 1.
                tabControl1.SelectedIndex = tabControl1.SelectedIndex + 1;
            }
        }

        private void button_dernier_Click(object sender, EventArgs e)
        {
            // S'il y a 5 tab l'index de la 5eme est 4,
            // donc on retir 1 au nombre de tab et on obtient
            // l'index de la derniere table.
            tabControl1.SelectedIndex = tabControl1.TabCount - 1;
        }

        // A chaque changement de tab...
        private void tabControl1_Selected(object sender, TabControlEventArgs e)
        {
            // Si la premiere tab est selectionnée...
            if (tabControl1.SelectedIndex == 0)
            {
                // On désactive les boutons premier et précédent
                button_premier.Enabled = false;
                button_precedent.Enabled = false;
                button_suivant.Enabled = true;
                button_dernier.Enabled = true;
            }
            // Si c'est la dernière tab qui est selectionnée...
            else if (tabControl1.SelectedIndex == tabControl1.TabCount - 1)
            {
                // On désactive les boutons suivant et dernier
                button_premier.Enabled = true;
                button_precedent.Enabled = true;
                button_suivant.Enabled = false;
                button_dernier.Enabled = false;
            }
            // Si ni la permière ni la dernière qui est selectionnée...
            else
            {
                // On active tous les boutons
                button_premier.Enabled = true;
                button_precedent.Enabled = true;
                button_suivant.Enabled = true;
                button_dernier.Enabled = true;
            }
        }

        ////////////////////////
        // par floptwo.
        ////////////////////////

    }
}

Conclusion

Dans le ZIP vous trouverez  tout les code.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

05 juin 2006 04:06:34 :
Petit oubli!
06 juin 2006 14:48:34 :
Correction des coommentaires

Commentaires et avis

signaler à un administrateur
Commentaire de woot6768 le 06/06/2006 09:43:16

Est-tu sûr pour les indexes des tables :
Index de la cinquième : 6!
Sauf erreur de ma par, si la première porte l'index 0, la deuxième porte l'index 1,..... la cinquième porte donc l'index 4 non?

Woot
Alias Wouter Tjon

signaler à un administrateur
Commentaire de floptwo le 06/06/2006 14:50:03

Salut !
Merci de la remarque woot6768.
J'ai corrigé touça.

signaler à un administrateur
Commentaire de woot6768 le 06/06/2006 14:57:01

A oui j'oubliais,
Bonne source, bien commenté, compréhensible...
Idéal pour les débutants en C# comme moi;)
Félicitations et merci

Woot
Alias Wouter Tjon.

signaler à un administrateur
Commentaire de econs le 07/06/2006 16:44:59 administrateur CS

Simple et très bien commenté.
A ce niveau là, celui qui ne comprend pas la source peut arrêter tout de suite le C#. C'est tellement limpide que çà se passe de commentaires.

signaler à un administrateur
Commentaire de floptwo le 08/06/2006 03:26:26

Merci !!!!!!!!!! :-D

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Forms dans TabControl [ par bloomy ] Salut!j'ai cr&#233;&#233; 3 forms ind&#233;pendants que je voudrais r&#233;unir dans une seule fen&#234;tre.Pour cela je voudrais utiliser un TabContr TabControl, tabpage et raccourci clavier [ par Arthenius ] Salut a tous,Voila j'ai un tabcontrole avec plusieurs tabpage dedans, et je souhaiterais pouvoir s&#233;lectionner un des tabpage en utilisant le clav TabControl [ par ange_sali ] Bonjour;comment rendre un tabpage d'un tabcontrol invisible? (pas tout le tabcontrol rien Cacher une TabPage / onglet [ par Uskia ] Je developpe une application en C# sous visual studio 2005 et j'utilise le composant tabcontrol / tabpage, c'est-à-dire les boites à onglet.Pour mon a focus sur les contrôles [ par emmanuel9 ] Bonjour &#224; tous, J'ai un TabControl avec plusieurs TabPage et dans chacun des tabPage plusieurs Contr&#244;les. Je sais que pour definir qui aura TabControl comme celui de Visual studio ?? [ par seblx ] Bonjour &#224; tous,Je travaille actuellement sur un tabControl et j'aimerais savoir comment faire pour que mon tabcontrol ressemble &#224; celui de v Probleme picturebox [ par julbuttt ] Bonjour, Voila j'utilise 2 images que je met dans 2 picturebox different dasn un tabpage. le probleme est que j'ai qu'une image qui s'affiche et l'aut tabcontrol sous visual studio 0005 [ par pimousse9999 ] Bonjour &#224; tous,je suis relativement nouveau dans le monde dotnet mais je dois r&#233;aliser une application winform dans le cadre de mon boulot.M [VS2005]TabControl et transparence [ par Caelum ] Bonjour, Je recherche comment rendre toutes les pages de mon tabControle transparentes. pocketpc : navigation web [ par cedoli ] Je voudrais ouvrir un fichier html qui est dans le dossier de mon applic.j'ajoute un webbrowser.une fois que je fais webbrowser.Navigate("web.html");r


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.