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

Résolu
cs_MacSIM51 Messages postés 10 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 5 avril 2008 - 22 févr. 2008 à 21:47
cs_MacSIM51 Messages postés 10 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 5 avril 2008 - 26 févr. 2008 à 19:27
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

Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
23 févr. 2008 à 04:02
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.
3
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
24 févr. 2008 à 05:26
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...
3
cs_MacSIM51 Messages postés 10 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 5 avril 2008
23 févr. 2008 à 11:10
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.
0
cs_MacSIM51 Messages postés 10 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 5 avril 2008
23 févr. 2008 à 15:50
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 ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MacSIM51 Messages postés 10 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 5 avril 2008
26 févr. 2008 à 19:27
Merci pour votre aide, grace à vous j'ai avancé dans mon projet.
0
Rejoignez-nous