Site:  Cours VB.net  
3.5 Les Labels

Ceci est un Label Rouge!!

Il y a 2 sortes de Label:

    Les 'Label'

    Les 'LinkLabel'

Les labels.

On en a déjà utilisé pour afficher du texte non modifiable par l'utilisateur (ce n'est donc pas une zone de saisie pour l'utilisateur du logiciel).

Les contrôles Label sont généralement utilisés pour fournir un texte descriptif à un contrôle. Vous pouvez par exemple utiliser un contrôle Label pour ajouter un texte descriptif à un contrôle TextBox. Ceci a pour but d'informer l'utilisateur du type de donnée attendu dans le contrôle.

 

Exemple hyper simple: Comment indiquer à l'utilisateur qu'il faut saisir son nom?

Devant le TextBox permettant la saisie du nom, on ajoute un 'Label' qui affiche 'Taper votre nom:'.

 

La légende qui s'affiche dans l'étiquette est contenue dans la propriété Text du label.

Après avoir déposé le 'Label' sur le formulaire, on peut modifier le texte affiché à partir de la fenêtre de propriétés, en passant par la propriété 'Text':

 

 

On peut aussi mettre la propriété ForeColor à Red pour que le texte du label soit en rouge.

 

Pour modifier le texte du label1 par du code:

Label1.Text="Donner votre Prénom"

 

La propriété Alignement vous permet de définir l'alignement du texte dans l'étiquette (centré, à droite, à gauche), BorderStyle permet de mettre une bordure (un tour) ou non..

 

Label1.Text="Label avec une bordure et un fond jaune"

Label1.BorderStyle=BorderStyle.FixedSingle

Label1.ForeColor=Color.Red

Label2.BackColor=Color.Yellow

donne:

 Label avec une bordure et un fond jaune 

 

Remarque: la plupart du temps les labels sont modifiés en mode design, directement dans la fenêtre des propriétés.

 

Il est également possible d’y afficher une image avec la propriété .Image

 

La propriété AutoSize autorise le label, si elle est égale à True,a se redimensionner pour afficher la totalité du texte.

 

Remarque sur la mise à jour de l'affichage:

La mise à jour de l'affichage du Label (comme les autres contrôles d'ailleurs) est effectuée en fin de Sub:

Si on écrit:

 

Dim i As Integer

For i = 0 To 100

    Label1.Text = i.ToString

Next i

 

La variable i prend les valeurs 1 à 100, mais à l'affichage rien ne se passe pendant la boucle, VB affiche uniquement 100 à la fin; si on désire voir les chiffres défiler avec affichage de 0 puis 1 puis 2... il faut rafraîchir l'affichage à chaque boucle avec la méthode Refresh():

 

Dim i As Integer

For i = 0 To 100

    Label1.Text = i.ToString: Label1.Refresh()

Next i

 

Une alternative est de mettre un Application.DoEvents() qui donne à Windows le temps de traiter les messages et de rafraîchir l'affichage.

 

Les LinkLabel

Permettent de créer un lien sur un label

 

Text Indique le texte qui apparaît.

LinkArea défini la zone de texte qui agira comme un lien; dans la fenêtre de propriété taper 11 ;4 (on verra que c’est plus simple que de le faire par code)

Les 4 caractères à partir du 11ème seront le lien, ils seront soulignés. Ne pas oublier comme toujours que le premier caractère est le caractère 0.

L’événement LinkClicked est déclenché quand l’utilisateur clique sur le lien. Dans cette procédure on peut permettre le saut vers un site Internet par exemple ou toute autre action.

Exemple :

LinkLabel1.text= "Visitez le site LDF"

LinkLabel1.LinkArea = New System.Windows.Forms.LinkArea(11, 4)

‘Pourquoi faire simple !!

Cela affiche :

     

 

Si l’utilisateur clique sur le mot 'site', la procédure suivante est déclenchée :

Private Sub LinkLabel1.LinkClicked…

End Sub

 

Il est possible de modifier la couleur du lien pour indiquer qu'il a été utilisé:

Si VisitedLinkColor contient une couleur  e.visited=True modifie la couleur.

(e est l'élément qui a envoyé l'évènement, j'en modifie la propriété Visited.)

 

On peut y inclure une action quelconque, en particulier un saut vers un site Web:

      System.diagnostics.Process.Start(" http://plasserre.developpez.com/ ")

 'correspond au code qui ouvre un browser Internet (Internet Explorer ou Netscape) et qui charge la page dont l'adresse est indiquée.

 

La collection Links permet d’afficher plusieurs liens dans un même texte, mais cela devient vite très compliqué.