|
Site |
Cours VB.net |
|
|
|
ToolBar StatusBar |
|
|
Comment mettre une barre de bouton en haut et une barre d'état en bas?
La barre de bouton: ToolBar en VB 2003
Voici un exemple classique, sous le menu il y a une barre de bouton: Nouveau, Ouvrir, Enregistrer, Chercher, Imprimer...

Allez chercher dans la boite à outils un contrôle ToolBar, il se place en haut, sous le menu. Mettre aussi un ImageList.(Un contrôle ImageList est un contrôle qui stocke des images, chaque image étant chargée en mode conception et repérée par un numéro (0,1,2,3..)
Dans le ToolBar mettre dans la propriété ImageList le nom du contrôle ImageList qui contient les images des boutons.
Ouvrir la collection Buttons dans la fenêtre des propriétés de le ToolBar pour pouvoir ajouter ou modifier les boutons:

Vous pouvez ajouter ou enlever des boutons.
Chaque bouton a ses propriétés affichées à droite:
Name Nom du Bouton Exemple NewButton.
ImageIndex donne le numéro de l'image (contenue dans l'Imagelist) qui doit s'afficher dans le bouton.
ToolTipText donne le texte du ToolTip (Carré d'aide qui apparaît quand on est sur le bouton) Il faut aussi que la propriété ShowToolTip de la ToolBar soit à True
L'évènement déclenché par le click de l'utilisateur sur un bouton est: ToolBar1_ButtonClick
L'argument e contient les arguments de l'évènement click de la ToolBar. e.Button contient le nom du bouton qui a déclenché l'évènement. Pour chaque nom de bouton on appellera la procédure correspondante: NewDoc(), Open()...
Comme d'habitude il suffit de double-cliquer sur la ToolBar pour faire apparaître ToolBar1_ButtonClick
Voici le code complet:
Private
Sub ToolBar1_ButtonClick(ByVal Sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles toolBar1.ButtonClick If e.Button Is NewButton ThenNewDoc()
ElseIf e.Button Is OpenButton ThenOpen()
ElseIf e.Button Is SaveButton ThenSave()
ElseIf e.Button Is PreviewButton ThenPrintPreview()
...
End If
End Sub
Le ToolBar a donc une collection de Buttons, de plus il n'y a qu'une procédure évènement 'Click' unique propre à la ToolBar et pour tous les boutons.
Contrôle StatusBar en VB 2003.
La barre d'état se trouve en bas de la fenêtre et affiche des informations relatives aux opérations en cours.
![]()
Ajouter un StatusBar au formulaire. Dans la fenêtre des propriétés du StatusBar, la collection Panels contient les zones d'affichage du StatusBar.
Dans le code, pour modifier le texte d'une zone faire:
StatusBar1.Panels(0).Text="1715.2F"
On remarque (c'est du Net) que le premier panel est panels(0).
ToolStrip en VB 2005:
On peut créer une barre n'importe ou dans le formulaire.
Exemple de barre de menu comprenant:
Un bouton.
Un label
Un bouton déroulant un menu.
Un comboBox
Une zone texte
Une barre de progression.
Images possible dans les menus, il peut y avoir des séparateurs.
Pour créer la barre ToolStrip, allez la chercher dans la boite à outils.
A la droite de la barre, en mode design, se trouve un menu déroulant qui permet de choisir l'élément à ajouter à la barre:
Cela ajoute des ToolStripLabel, ToolStripButton.... (noter que ce sont des objets spécifiques aux ToolStrip). Chaque élément ajouté est un objet
Ensuite, en cliquant sur chaque élément de la barre, on peut changer ses propriétés (qui apparaissent en bas à droite)
Ici le premier élément à gauche est un label; j'en ai modifié la propriétés (text='Groupe') et j'ai mis une image (il a accepté une icône) dans la propriété 'Image'. Le second élément est un bouton avec une image de stop.
Dans le code, on a accès aux propriétés de l'élément directement à partir de son nom:
ToolStripButton1.Text="Ok"
Ou par l'intermédiaire de la barre ToolStrip qui a une collection d'items contenant tous les objets de la barre:
ToolStrip1.Items.Item (2).Text
A la place de l'index de l'élément dans la barre (ici 2), on peut mettre le nom d'élément.
Evènement déclenché par un click:
1- Comme d'habitude, en double-cliquant sur un élément (le second par exemple qui correspond à un bouton), on se retrouve dans la procédure exécutée quand l'utilisateur clique sur le bouton.
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
End Sub
Attention: chaque élément à sa propre procédure évènement.
Ainsi s'il y a un second bouton, il y aura une autre procédure Click:
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
End Sub
2- On a aussi une procédure unique pour le click sur la barre.
Private Sub ToolStrip1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStrip1.Click
End Sub
Mais le sender est le ToolStrip; pour savoir dans la routine quel bouton a été cliqué, il faut modifier la sub en indiquant comme Handles le nom de tous les boutons de la barre, ainsi par exemple, on peut savoir quel bouton à été cliqué.
Private Sub ToolStrip1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click, ToolStripButton2.Click, ToolStripButton3.Click
Dim Button As System.Windows.Forms.ToolStripItem = CType(sender, System.Windows.Forms.ToolStripItem)
MsgBox(Button.Name) '
End Sub
La barre de bouton peut être mise horizontalement (grâce à la propriété LayoutStyle ). Avec l'aide du petit bouton permettant les taches courantes sur le ToolStrip, on peut comme ici, incorporer instantanément tous les boutons standards ( nouveau, ouvrir, enregistrer, imprimer, couper, copier, coller. magique!!) Avec l'aide du petit bouton permettant les taches courantes sur le ToolStrip, on peut aussi mettre le ToolStrip dans un conteneur (ToolStripContaineur), en mode design , on voit apparaître dessous des outils permettant de modifier le conteneur; si on clique sur un des coté (dessous) on a accès aux propriétés du bord. (mais la mise en oeuvre n'est pas facile!!) |
Il n'y a plus de 'groupe de bouton' avec un seul bouton enfoncé, ou du moins j'ai pas trouvé.(On ne peut pas tout avoir!!) par contre, on peut 'enfoncer' ou non un bouton:
.ToolStripButton2.Checked = True
On n'a pas accès à cette propriété (et d'autres) en utilisant les Items du ToolSTrip.
Comment créer un bouton à bascule:
Lorsqu'un utilisateur clique sur un bouton bascule, ce bouton apparaît enfoncé et conserve cet aspect jusqu'à ce que l'utilisateur clique une nouvelle fois sur le bouton.
toolStripButton.CheckOnClick = True toolStripButton.CheckedChanged AddressOf EventHandler(toolStripButton_CheckedChanged)
Merci Microsoft (Non testé)
Le ToolStrip contient des objets (button, label..) qui ont chacun leur procédure évènement.
StatuStrip en VB 2005:
Pour créer une barre d'état en bas d'un formulaire; remplace les StatusBar.
Peut contenir des ToolStripStatusLabel (Texte ou icone), des ToolStripProgressBar, ToolStripDropDownButton et ToolsStripSplitButton (combinaison d'un bouton standard et d'un bouton déroulant). Il n'y a plus de Panel.
|
|
|
|
|