comment mettre un tabpage a visible = false
parce que :
ça ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part TabControl1.TabPages(1).Visible = False
avez vous une idée.
comment mettre un tabpage a visible = false
parce que :
ça ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part TabControl1.TabPages(1).Visible = False
avez vous une idée.
on peut pas. il faut les enlever et les remettre
ou alors, mais je ne suis pas sûr que ca corresponde à ton probleme.
Mitsu Furuta a proposé un composant tabcontrol sans onglet afin de simuler un wizard. mais ca depend de tes besoins
Bonjour,
Effectivement, dans le cadre d'un assistant, le tabcontrol sans onglet fonctionne très bien.
Par contre, si l'on veut rendre invisible un tabpage selon un contexte précis (exemple : ne pas afficher un tabpage de detail si le tabpage de liste ne contient pas de ligne), ben là... ça coince...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 tabAssistant.TabPages.Clear() select case pNumEtape case 1 tabAssistant.TabPages.Add(tabPage1) case 2 tabAssistant.TabPages.Add(tabPage2) ... end select
Euuuuh, vous aurez deviné que je coince en ce moment, hein ?![]()
![]()
Comme le suggère pharaonix, il faut s'orienter sur une gestion dynamique de l'affichage des TabPages. Donc à mon sens, necessiter de devlopper un gestionnaire des evenements. Par exemple si un evenement specifique d'un des TabPages détermine la presence ou pas d'un autre TabPage.
Imaginons un TabControl LeTabControl possedant un TabPage principal (fixe) contenant un Combobox MaListe abonné à la methode SelectedIndexChanged
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
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 'TabPage devant apparaître dynamiquement pour afficher un detail Private TabPageDetail As TabPage 'Variable auquelle est attribuée l'index du TabPageDetail en cours Private CurrentTabPage As Integer 'Permet d'ajouter dynamiquement TabPageDetail Private Sub AddTabPage(ByVal name As String) 'nouvelle instance Me.TabPageDetail = New TabPage() 'initialiser TabPageDetail With Me.TabPageDetail .Name = name .Text = "Detail de " + name 'Initialiser la grille de TabPageDetail End With 'ajouter le TabPageDetail Me.LeTabControl.TabPages.Add(Me.TabPageDetail) 'reinitialiser l'index en cours Me.CurrentTabPage = Me.LeTabControl.TabPages.Count - 1 Me.LeTabControl.SelectedIndex = Me.CurrentTabPage End Sub 'Permet de retirer dynamiquement TabPageDetail Private Sub RemoveTabPage(ByVal index As Integer) With Me.LeTabControl .TabPages.RemoveAt(index) .SelectedIndex = 0 End With End Sub 'Capture l'evenement de changement de selection dans MaListe Private Sub SelectedIndexChanged(sender As Object, e As EventArgs) Dim texte As String 'recuperer le choix de l'utilisateur texte = Ctype(sender, ComboBox).SelectedItem.ToString() 'Si OK If Not(texte.Equals(String.Empty)) Then 'Si un TabPageDetail en cours , on l'enlève If Not(Me.CurrentTabPage = 0) Then Me.RemoveTabPage(Me.CurrentTabPage) 'Afficher le nouveau TabPageDetail Me.AddTabPage(texte) End If End Sub
Bonjour,
Il n'y a aucun moyen de faire une separation entre les onglets ?
3 à gauche .... 3 à droite
Merci
Partager