[vb.net 2005] TabControl : afficher composant sur plusieurs Tab [Résolu]

Signaler
Messages postés
10
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
5 avril 2008
-
Messages postés
10
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
5 avril 2008
-
Bonjour à toutes et à tous,

comment faire pour afficher un composant, qui est sur la première page du TabControl, sur une autre page du TabControl ?

Si c'est possible, est-ce qu'il aura la même position que dans la page où il est à l'origine ?

Merci à tous une fois de plus pour votre aide.

ps : j'ai utilisé la recherche et je n'ai pas trouvé ce que je voulais, peut être ai-je mal cherché..

5 réponses

Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
7
Salut,

Lorsque tu sélectionne l'une des TabPage, tu enlève ton contrôle de la TabPage sur lequel il se trouve et tu l'ajoute à celle qui vient d'être sélectionné

TabPage1.Controls.Remove(MonControl)
TabPage2.Controls.Add(MonControl)

Il n'est pas possible de l'ajouter sur une TabPage si tu ne l'enlève pas d'abord de l'autre.
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
7
Je dirais un truc du genre:




Private
Sub
TabControl1_SelectedIndexChanged(

ByVal
sender

As
System.Object,

ByVal
e

As
System.EventArgs)

Handles
TabControl1.SelectedIndexChanged
    ' Référence à la page contenant le control à déplacer
    ' Initialiser à TabPage1 en admettant que ce soit cette page qui contient le control au lancement de l'application
    Static LastSelectedPage As TabPage = TabPage1

    ' Tester si le bouton droit être déplacé
    Dim Ind As Integer = Me.TabControl1.SelectedIndex    If Ind 0 or Ind 1 or Ind = 4 or Ind = 5 Then

        ' Enlever le control de la page sur lequel il se trouve
        LastSelectedPage.Controls.Remove(Me.Button1)
        ' Ajouter le control sur la nouvelle page


  
    Me
.TabControl1.SelectedTab.Controls.Add(Me.Button1)
       ' Garder la référence de la page sur laquelle se trouve le bouton
       LastSelectedPage =

Me
.TabControl1.SelectedTab


    End If







End
Sub

Je précise juste encore que si tu veux afficher ton bouton sur toutes tes pages, il vaut mieux le placer sur ta Form

au 1er plan (au dessus de ton TabControl)


et non sur tes TabPages...
Messages postés
10
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
5 avril 2008

Salut, merci ça fonctionne ;)

Par contre, pour gérer le clic sur l'onglet, j'ai mis ça :

Private
Sub TabControl1_SelectedIndexChanged(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles TabControl1.SelectedIndexChanged

   If
Me.TabControl1.SelectedIndex = 1
Then
   TabPage1.Controls.Remove(Button1)
   TabPage2.Controls.Add(Button1)

   End
If
End
Sub

Tu peux me dire si c'est bien ou si il faut faire autrement ?

Merci en tout cas ;)

Bonne journée.
Messages postés
10
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
5 avril 2008

Bon en fait ça va pas ce que j'ai fais..

car si j'ai 10 onglets, c'est trop galére pour gérer ça !

Donc si vous avez une idée..

Encore merci ;)
Messages postés
10
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
5 avril 2008

Merci pour votre aide, grace à vous j'ai avancé dans mon projet.