Accueil > > > TABCONTROL VERTICAL
TABCONTROL VERTICAL
Information sur la source
Description
Bon et bien en fait, aprés avoir bataillé de nombreuses heures sur des sites a la recherche d'un TabControl vertical ou d'un menu déroulant si vous préférez (cf screenshot) et n'ayant rien trouver de bien probant j'ai décidé de poster mon travail. Il n'y a pas de quoi s'affoler mais si comme moi vous devez faire un interface dont la majeure partie de la fenetre est occupé par une picturebox alors un menu déroulant vertical sera le bienvenue. J'ai mis en place 4 panels sur ma form. Chaque panel s'ouvre via les boutons "btnNomDuBouton" et contient d'autres boutons qui engendre des actions (dans mon appli je charge des images, mais a vous de changez leurs fonctionnalités. Voila deux click sur un même bouton ouvre et ferme le panel correspondant. Un click sur un bouton puis sur un autre ouvre le panel associé et ferme les autres. N.B: la propriété dock des boutons commandant les panels est à régler en DockStyle.Top Voila c tt
Source
#Region "MenuComposant"
Public Sub MenuComposant(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnVerins.Click, btnPompes.Click, btnMoteurs.Click, btnDistributeurs.Click
' On récupère le nom du bouton et suivant sont état (true = ouvert; false = fermer)
' on affiche le menu.
If sender.name = "btnVerins" Then
If _btnEtat = False Then
Fermer_Pompe() : Fermer_Moteur() : Fermer_Distributeur()
Ouvrir_Verin()
ElseIf _btnEtat = True Then
Fermer_Verin()
End If
ElseIf sender.name = "btnPompes" Then
If _btnEtat2 = False Then
Fermer_Verin() : Fermer_Moteur() : Fermer_Distributeur()
Ouvrir_Pompe()
ElseIf _btnEtat2 = True Then
Fermer_Pompe()
End If
ElseIf sender.name = "btnMoteurs" Then
If _btnEtat3 = False Then
Fermer_Pompe() : Fermer_Verin() : Fermer_Distributeur()
Ouvrir_Moteur()
ElseIf _btnEtat3 Then
Fermer_Moteur()
End If
ElseIf sender.name = "btnDistributeurs" Then
If _btnEtat4 = False Then
Fermer_Pompe() : Fermer_Moteur() : Fermer_Verin()
Ouvrir_Distributeur()
ElseIf _btnEtat4 = True Then
Fermer_Distributeur()
End If
End If
End Sub
Sub Ouvrir_Verin()
' On fixe l'état du bouton et l'image a charger.
_btnEtat = True : btnVerins.Image = Image.FromFile("Images\_btnVerins_ON.bmp")
' On dispose les controls de la bonne manière.
Panel1.Height = _Height : Panel1.Top = btnVerins.Top
Panel2.Height = btnPompes.Height : Panel2.Top = Panel1.Top + Panel1.Height
Panel3.Height = btnMoteurs.Height : Panel3.Top = Panel2.Top + btnPompes.Height
Panel4.Height = btnDistributeurs.Height : Panel4.Top = Panel3.Top + btnMoteurs.Height
End Sub
Sub Fermer_Verin()
' On fixe l'état du bouton et l'image a charger
_btnEtat = False : btnVerins.Image = Image.FromFile("Images\_btnVerins_OFF.bmp")
' On dispose les controls de la bonne manière.
Panel1.Height = btnVerins.Height : Panel1.Top = btnVerins.Top
Panel2.Height = btnPompes.Height : Panel2.Top = Panel1.Top + btnVerins.Height - 1
Panel3.Height = btnMoteurs.Height : Panel3.Top = Panel2.Top + btnPompes.Height - 1
Panel4.Height = btnDistributeurs.Height : Panel4.Top = Panel3.Top + btnMoteurs.Height - 1
End Sub
Sub Ouvrir_Pompe()
' On fixe l'état du bouton et l'image a charger
_btnEtat2 = True : btnPompes.Image = Image.FromFile("Images\_btnPompes_ON.bmp")
' On dispose les controls de la bonne manière.
Panel1.Height = btnVerins.Height : Panel1.Top = btnVerins.Top
Panel2.Height = _Height2 : Panel2.Top = Panel1.Top + btnVerins.Height
Panel3.Height = btnMoteurs.Height : Panel3.Top = Panel2.Top + Panel2.Height
Panel4.Height = btnDistributeurs.Height : Panel4.Top = Panel3.Top + Panel3.Height
End Sub
Sub Fermer_Pompe()
' On fixe l'état du bouton et l'image a charger
_btnEtat2 = False : btnPompes.Image = Image.FromFile("Images\_btnPompes_OFF.bmp")
' On dispose les controls de la bonne manière.
Panel1.Height = btnVerins.Height : Panel1.Top = btnVerins.Top
Panel2.Height = btnPompes.Height : Panel2.Top = Panel1.Top + btnVerins.Height - 1
Panel3.Height = btnMoteurs.Height : Panel3.Top = Panel2.Top + btnPompes.Height - 1
Panel4.Height = btnDistributeurs.Height : Panel4.Top = Panel3.Top + btnMoteurs.Height - 1
End Sub
Sub Ouvrir_Moteur()
' On fixe l'état du bouton et l'image a charger
_btnEtat3 = True : btnMoteurs.Image = Image.FromFile("Images\_btnMoteurs_ON.bmp")
' On dispose les controls de la bonne manière.
Panel1.Height = btnVerins.Height : Panel1.Top = btnVerins.Top
Panel2.Height = btnPompes.Height : Panel2.Top = Panel1.Top + btnVerins.Height
Panel3.Height = _Height3 : Panel3.Top = Panel2.Top + btnPompes.Height
Panel4.Height = btnDistributeurs.Height : Panel4.Top = Panel3.Top + Panel3.Height
End Sub
Sub Fermer_Moteur()
' On fixe l'état du bouton et l'image a charger
_btnEtat3 = False : btnMoteurs.Image = Image.FromFile("Images\_btnMoteurs_OFF.bmp")
' On dispose les controls de la bonne manière.
Panel1.Height = btnVerins.Height : Panel1.Top = btnVerins.Top
Panel2.Height = btnPompes.Height : Panel2.Top = Panel1.Top + btnVerins.Height - 1
Panel3.Height = btnMoteurs.Height : Panel3.Top = Panel2.Top + btnPompes.Height - 1
Panel4.Height = btnDistributeurs.Height : Panel4.Top = Panel3.Top + btnMoteurs.Height - 1
End Sub
Sub Ouvrir_Distributeur()
' On fixe l'état du bouton et l'image a charger
_btnEtat4 = True : btnDistributeurs.Image = Image.FromFile("Images\_btnDistributeurs_ON.bmp")
' On dispose les controls de la bonne manière.
Panel1.Height = btnVerins.Height : Panel1.Top = btnVerins.Top
Panel2.Height = btnPompes.Height : Panel2.Top = Panel1.Top + btnVerins.Height
Panel3.Height = btnMoteurs.Height : Panel3.Top = Panel2.Top + btnPompes.Height
Panel4.Height = _Height4 : Panel4.Top = Panel3.Top + btnMoteurs.Height
End Sub
Sub Fermer_Distributeur()
' On fixe l'état du bouton et l'image a charger
_btnEtat4 = False : btnDistributeurs.Image = Image.FromFile("Images\_btnDistributeurs_OFF.bmp")
' On dispose les controls de la bonne manière.
Panel1.Height = btnVerins.Height : Panel1.Top = btnVerins.Top
Panel2.Height = btnPompes.Height : Panel2.Top = Panel1.Top + btnVerins.Height - 1
Panel3.Height = btnMoteurs.Height : Panel3.Top = Panel2.Top + btnPompes.Height - 1
Panel4.Height = btnDistributeurs.Height : Panel4.Top = Panel3.Top + btnMoteurs.Height - 1
End Sub
#End Region
Historique
- 27 mai 2005 11:31:10 :
- Je viens de changer le code, le 26/05/2005 car l'algo de repositionnement des panels était un peu freestyle. Donc maintenant c bon, et si vous avez bien saisi le principe vous n'aurez aucun problème a dupliquer le systeme panel/bouton pour faire plus d'onglets que les 4 présents.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
tabcontrol vertical [ par tump ]
bonjourje souhaite mettre sur ma form un genre de tabcontrol, mais a la verticale,comme la boite a outil vb.net par exemple! quel est le nom de ce con
problème usercontrol [ par tmcuh ]
Voilà mon problème réside dans la restitution des attributs. J'ai crée un controle avec une image dedans, une liste enumérati
ajout d'une scrollBar vertical si trop de controle ajouter dynamiquement [ par youkizouki ]
bonjour, <SPAN lang=FR style="mso
Pb de TabControl en VB.Net [ par chris81 ]
bonjour, comment puis je faire pour ouvrir l'onglet que je veux d'un tabcontrol? mercihttp://www.correzeweb.comhttp://www.localetv.com
creer un usercontrol [ par mikoteam ]
bonjours a tous je voudrais creer un truc simple pour grand nombre d entre vous mais tres dur pour moi j aimerais créer un user
Texte défilement Vertical + VBA [ par Cruzerlord ]
Bonjour est il possible de faire un texte défilant verticalement sur VBASi oui pouvez vous me dire comment on fait mercimême Question pour u
VB.NET Usercontrol et backcolor transparent [ par liquide ]
Salut a tous,(VB.Net 2005 Edition Beta)je cherche la possibilité sur un Usercontrol de le rendre transparent en backcolor, la methode du Backcolo
Drag drop dans un activeX [ par vfi ]
Bonjour,J'ai un projet VB6 , contenant une form et un usercontrol.Sur ma form, j'ai un label et le usersercontrol.Dans mon usercontrol j'ai un autre l
[ocx] Texte vertical [ par moony01 ]
bonsoirJe cherche un ocx pour afficher du texte vertical dans un fomulaire access 2000.Merci d'avance.Moony.
onglet (tabcontrol) sur condition (dans access) [ par l_apotre ]
Voila mon probleme : je souhaiterai afficher des onglets suivants un premier onglet de configuration : En fait, suivant des champs de qualification du
|
Derniers Blogs
[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse chez eux, et l'avenir est très très prometteur pour le HTML5, notammen...
Cliquez pour lire la suite de l'article par Gio GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc
Forum
RE : VITESSERE : VITESSE par Renfield
Cliquez pour lire la suite par Renfield RE : VITESSERE : VITESSE par ucfoutu
Cliquez pour lire la suite par ucfoutu MACRO VBA EXCELMACRO VBA EXCEL par sigma17
Cliquez pour lire la suite par sigma17
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|