Précédent   Forum du club des développeurs et IT Pro > Dotnet > Langages > C#
C# Forum d'entraide sur la programmation C#. Avant de poster -> FAQ C#, Articles C#, Sources C#
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/01/2013, 20h28   #1
Amiral62
Invité régulier
 
Homme Dylan Huart
Étudiant
Inscription : janvier 2012
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme Dylan Huart
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 32
Points : 7
Points : 7
Par défaut Déplacement D'onglets Visual Studio 10

Bonsoir, voila je suis sur un petit projet mais je bloque sur une chose toute bête l’application doit pouvoir; en cliquant sur les flèches directionnelles ( représenté par des boutons ) ce déplacer dans les onglets de la TabControl
j'ai réussi le déplacement de droite donc de l'onglet 1 à l’onglet 6 puis arriver a 6 il reviens à 1 etc.. le déplacement de gauche s’effectue aussi mais le problème que je rencontre c'est que une fois que le tabControl est arrivé à 6 il doit normalement revenir à 1 mais comme la variable est égal a 6 il passe dans la dernière condition et il affiche l'onglet numéro 5 c'est compliqué a expliquer donc je vous laisse regarder le code il parlera plus Merci pour votre patience



Code :
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Compteurs
{
    public partial class Form1 : Form
    {
 
        int DeplacementDroite = 0;
        int DeplacementGauche = 0;
 
        public Form1()
        {
            InitializeComponent();
 
        }
 
        /********************************************************************************************************************************************/
        /************************************************ Deplacement vers la droite dans les onglets ***********************************************/
        /********************************************************************************************************************************************/
 
        private void BtnDroit_Click(object sender, EventArgs e)
        {
 
 
            switch (DeplacementDroite)
            {
                case 0: tabControl1.SelectedTab = Onglet2;
                    DeplacementDroite++;
                    break;
                case 1: tabControl1.SelectedTab = Onglet3;
                    DeplacementDroite++;
                    break;
                case 2: tabControl1.SelectedTab = Onglet4;
                    DeplacementDroite++;
                    break;
                case 3: tabControl1.SelectedTab = Onglet5;
                    DeplacementDroite++;
                    break;
                case 4: tabControl1.SelectedTab = Onglet6;
                    DeplacementDroite++;
                    break;
                case 5: DeplacementDroite++;
                    break;
            }
 
            if (DeplacementDroite == 6)
            {
                tabControl1.SelectedTab = Onglet1;
                DeplacementDroite = 0;
            }
 
 
 
        }
 
        /********************************************************************************************************************************************/
        /************************************************ Deplacement vers la gauche dans les onglets ***********************************************/
        /********************************************************************************************************************************************/
 
        private void BtnGauche_Click(object sender, EventArgs e)
        {
 
            if (tabControl1.SelectedTab == Onglet1)
            {
                tabControl1.SelectedTab = Onglet6;
            }
 
            if (tabControl1.SelectedTab == Onglet2)
            {
                tabControl1.SelectedTab = Onglet1;
            }
 
            if (tabControl1.SelectedTab == Onglet3)
            {
                tabControl1.SelectedTab = Onglet2;
            }
 
            if (tabControl1.SelectedTab == Onglet4)
            {
                tabControl1.SelectedTab = Onglet3;
            }
 
            if (tabControl1.SelectedTab == Onglet5)
            {
                tabControl1.SelectedTab = Onglet4;
            }
 
            if (tabControl1.SelectedTab == Onglet6)
            {
                tabControl1.SelectedTab = Onglet5;
            }
 
 
        }
 
 
 
 
    }
}
Amiral62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 21h56   #2
infosam76
Membre Expert
 
Homme Eric Metz
Développeur informatique
Inscription : avril 2006
Messages : 573
Détails du profil
Informations personnelles :
Nom : Homme Eric Metz
Âge : 36
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique
Secteur : Santé

Informations forums :
Inscription : avril 2006
Messages : 573
Points : 1 723
Points : 1 723
Je dois avouer que j'ai du creuser un ptit peu mais en fait votre problème est tout simple :

Vous allez de votre onglet 1 à 6 et arrivé au 6 vous repasser au 1 -> OK

La vous appuyer sur votre bouton gauche dans la fonction BtnGauche_Click
vous passez dans la condition

Code :
1
2
3
4
5
 
if (tabControl1.SelectedTab == Onglet1)
{
    tabControl1.SelectedTab = Onglet6;
}
Puis vous continuer votre fonction, avec le SelectedTab qui est devenu Onglet6

et la dernière condition de votre fonction est

Code :
1
2
3
4
5
 
if (tabControl1.SelectedTab == Onglet6)
{
      tabControl1.SelectedTab = Onglet5;
}
Donc votre condition est remplies et vous passez à l'onglet5

Donc je vous propose le code suivant qui est fonctionnelle et plus court :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
        private void button1_Click(object sender, EventArgs e)
        {
            if (tabControl1.SelectedIndex == 0)
                tabControl1.SelectedIndex = 5;
            else 
                tabControl1.SelectedIndex--;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            if (tabControl1.SelectedIndex == 5)
                tabControl1.SelectedIndex = 0;
            else
                tabControl1.SelectedIndex++;
        }
infosam76 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/01/2013, 22h06   #3
Amiral62
Invité régulier
 
Homme Dylan Huart
Étudiant
Inscription : janvier 2012
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme Dylan Huart
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 32
Points : 7
Points : 7
C'est tout à fait ça j'était sur cette voie la aussi j'avais juste oublier l'idée du else c'est très gentil en tout cas un grand merci et bonne continuation
Amiral62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 22h18   #4
infosam76
Membre Expert
 
Homme Eric Metz
Développeur informatique
Inscription : avril 2006
Messages : 573
Détails du profil
Informations personnelles :
Nom : Homme Eric Metz
Âge : 36
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique
Secteur : Santé

Informations forums :
Inscription : avril 2006
Messages : 573
Points : 1 723
Points : 1 723
Au sinon dans le code que vous aviez écris, il suffisant dans chaque test d'ajouter un return pour sortir de la fonction (ce qui rallonge le code)
infosam76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h20.


 
 
 
 
Partenaires

Hébergement Web