Ce cours est visible gratuitement en ligne.

Ce cours existe en livre papier.

Ce cours existe en eBook.

J'ai tout compris !
Apprenez à programmer en VB .NET

Apprenez à programmer en VB .NET

Mis à jour le lundi 24 juin 2013
  • 4 semaines
  • Facile

Eh bien, cela fait déjà pas mal de nouveaux concepts à appréhender, mais ce n'est pas fini ! Vous ne voulez quand même pas en rester là ? Modifions maintenant les propriétés de nos contrôles !

Ces propriétés vont nous permettre de modifier à souhait et à la volée les contrôles visuels. Que ce soit la couleur, le texte, l'emplacement, la taille, le poids, tous ces paramètres vont pouvoir être modifiés quand vous le souhaitez.

Je ne vous en dit pas plus, allons-y.

À quoi ça sert ?

Je pense que vous avez sûrement déjà vu la fenêtre contenant les propriétés (voir figure suivante).

La fenêtre des propriétés
La fenêtre des propriétés

La chose magnifique est que nous sommes sous Visual Basic Express, un module du grand IDE qu'est Visual Studio. Et cet IDE va vous permettre :

  • D'avoir les messages d'erreur écrits en français la plupart du temps ;

  • De résoudre les erreurs sans se poser de questions ;

  • D'avoir la description de toutes les propriétés des objets ;

  • D'avoir la description de toutes les fonctions ;

  • D'avoir un système de debug magique ;

  • Et j'en passe…

Bref, Visual Basic Express va vous mâcher énormément le travail. Tout ça pour vous dire : côté propriétés, nous allons être grandement aidés, tout sera très intuitif, un vrai plaisir.

Donc revenons à nos moutons : qu'est ce qu'une propriété sur un objet VB ? Attention, ici je parle des objets graphiques que nous voyons (boutons, labels, textbox…).

Eh bien, ces propriétés sont toutes la partie design et fonctionnelle de l'objet : vous voulez cacher l'objet, agissez sur la propriété Visible ; vous voulez le désactiver, la propriété Enable est là pour ça ; l'agrandir, lui faire afficher autre chose, le changer de couleur, le déplacer, le tagger… agissez sur ses propriétés.

Les propriétés nous seront accessibles côté feuille design, mais aussi côté feuille de code VB, on agit d'un côté ou de l'autre. Très utile lorsque vous voulez faire apparaître ou disparaître un objet dynamiquement, l'activer ou le désactiver, etc.

Si vous voulez le placer, lui attribuer un nom, et le définir comme vous voulez : agissez côté design, ensuite si vous voulez le déplacer pendant l'exécution, les propriétés seront modifiées côté VB.

OK, OK, on te croit. Au fait, comment ouvrir le code ? je ne vois que le design…

Oh, excusez-moi, pour ouvrir le code, allons dans notre fenêtre de solutions, vous devez voir :

  • Une icône myproject, elle correspond aux propriétés du projet entier, que je vous ai expliqué ;

  • Le second est form1.vb, c'est ce fichier qui nous intéresse.

Cliquez droit sur form1.vb, vous avez :

  • Le concepteur de vues pour le côté design ;

  • Et… afficher le code ! Voilà comment afficher le code.

Les utiliser

Alors, vous savez désormais à quoi ça sert, mais comment se servir de ces magnifiques choses ?

Eh bien, côté visuel, pas trop de mal : ouvrez la fenêtre des propriétés. Si vous ne savez plus comment on fait, appuyez sur la touche F4 de votre clavier.

Bon, votre fenêtre est ouverte. La figure suivante représente ce qu'il y a dans la partie supérieure.

La partie supérieure de la fenêtre « Propriétés »
La partie supérieure de la fenêtre « Propriétés »

Le mot en gras est le nom de votre contrôle (que j'appelle également objet), ce nom est défini dans la propriété (name), à noter qu'il n'est pas possible d'accéder côté VB aux propriétés entre parenthèses.

Cette propriété est fondamentale, comme elle correspond au nom de l'objet (ou à son ID), c'est ce nom qui sera utilisé côté VB pour y accéder et le modifier. Utilisez un nom explicite !

Je vous explique ma manière de procéder : mes contrôles sont toujours en MAJUSCULES.
Ils contiennent un préfixe en fonction de leur type :

  • BT pour les boutons ;

  • LBL pour les labels ;

  • TXT pour les textbox ;

  • LNK pour les labels links ;

  • RB pour les boutons radio ;

  • CHK pour les checkbox ;

  • Et j'en passe…

Je ne vous oblige absolument pas, mais je vous le conseille quand même. Après ce préfixe je place un underscore « _ », puis la fonction rapide de l'objet. Exemple pour ici : BT_ENVOI est le bouton pour envoyer.

Bon, après notre nom, nous avons le type d'objet dont il s'agit, c'est un button.

Dans le reste de cette fenêtre (voir figure suivante), vous voyez la liste des propriétés de l'objet. Cliquez sur la case correspondante pour lui assigner une propriété. Dans le cas de mon bouton, vous le voyez à droite, j'ai modifié sa propriété font, qui veut dire en anglais « police » , j'ai changé sa size (autrement dit sa taille), et j'ai modifié également sa propriété Text, pour lui changer son nom.

Propriétés du bouton
Propriétés du bouton

Pour qu'on travaille tous sur la même chose, on va tous créer la fenêtre visible à la figure suivante.

Créez une fenêtre identique à celle-ci
Créez une fenêtre identique à celle-ci

Donc j'ai un bouton appelé « BT_ENVOI », et une TextBox, que vous trouvez également sur le côté pour placer vos objets et qui s'appelle TXT_RECOIT. Et c'est parti pour l'aventure !

Les assigner et les récupérer côté VB

Nous allons donc modifier les propriétés des objets côté VB.

Vous vous souvenez du Sub Main() quand nous étions en console ?

Ici, c'est à peu près pareil, sauf que ça s'appelle des événements (j'expliquerai plus tard, pas de panique), et notre événement utilisé ici s'appelle form_load ; c'est, comme son nom l'indique, l'événement pénétré lorsque la fenêtre se lance (plus exactement durant son chargement).

Donc, pour le créer, il y a deux manières : l'écrire, mais comme vous ne connaissez pas les syntaxes des événements on ne va pas vous prendre la tête pour le moment, ou le générer automatiquement grâce à notre IDE.

Comment ?

Peut-être l'avez vous déjà fait par erreur : double-cliquez sur n'importe quel point de la fenêtre que vous créez (pas un contrôle surtout !).

Vous atterrissez côté code VB…

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

End Class

… avec ce magnifique code. Alors, pour le moment, comprenez juste que ce sub sera pénétré au chargement de la fenêtre, j'expliquerai plus tard comment ça fonctionne. Donc on va écrire dedans.

Alors, comment attribuer les propriétés ? Eh bien, c'est très simple : il faut tout d'abord dire sur quelle fenêtre on travaille, ici (et dans la majorité des cas) c'est la fenêtre actuelle appelée Me en VB (un peu comme le this en JavaScript ou en C++).

Donc nous avons Me, il faut le lier au reste, utilisons donc le caractère « . » : nous allons donc accéder aux objets et contrôles de cette fenêtre. Ici une liste s'affiche à nous, c'est tout ce que l'on peut utiliser avec l'objet Me(autrement dit la fenêtre). Spécifions autre chose : nous voulons accéder à notre textbox, donc on tape son nom : « TXT_RECOIT ». À peine la partie « TXT » écrite, notre formidable IDE nous donne déjà le reste, comme le montre la figure suivante.

L'IDE propose le reste
L'IDE propose le reste

Un petit TAB nous permet de compléter automatiquement le mot (réflexe que vous prendrez par la suite pour coder de plus en plus rapidement), continuons notre avancement, je veux changer le texte présent dans la textbox, donc accédons à la propriété text, pareil que précédemment, il nous affiche déjà le reste.

Nous voilà donc sur la propriété text, nous avons deux choix : attribuer sa valeur ou l'utiliser ; pour l'utiliser le signe « = » se place avant, et pour l'assigner, après.

Assigner est utile pour entrer des valeurs, utiliser sa valeur est pratique pour des cas comme les textbox, et récupérer ce que l'utilisateur a entré.

Nous allons donc l'assigner, et attribuons-lui une valeur texte, voici un exemple de la ligne de code :

Me.TXT_RECOIT.Text = "Salut"

Voilà, lançons le programme pour essayer : un salut s'est affiché dans la textbox (voir figure suivante) !

Un message s'affiche
Un message s'affiche

Nous avons réussi notre premier accès à une propriété côté VB.

Pourquoi s'arrêter là ? alignons ce texte !
Tapons donc Me.TXT_RECOIT.Tex, et là l'autocomplétion me propose… textalign !

Pourquoi s'en priver ? J'écris donc ma propriété textalign, un « = » pour lui assigner une propriété, et là notre magnifique IDE fait encore tout le travail (voir figure suivante) !

Faites votre choix !
Faites votre choix !

Centré, à gauche ou à droite ? Double-cliquez sur votre choix (j'ai choisi centré dans cet exemple). Au nouveau test de notre application, vous obtenez la figure suivante.

Le texte est centré
Le texte est centré

C'est magique, c'est le VB, c'est tout !

With

Voici un petit mot qui va changer votre vie : With (autrement dit en français : « avec »).

Oui, bon, il va changer votre vie, mais comment ?

Eh bien, il va vous arriver de vouloir assigner beaucoup de propriétés à un contrôle ou alors tout simplement définir toutes les composantes d'envoi d'e-mail, de connection réseau, d'impression…

Bon, restons dans le cas basique : j'ai un bouton pour lequel je veux changer la couleur, le texte, la position, la taille…

Avec ce que je vous ai expliqué, vous allez écrire en toute logique ceci :

Me.MonboutonPrefere.ForeColor = Color.Red
Me.MonboutonPrefere.Text = "Mon nouveau texte"
Me.MonboutonPrefere.Left = 10
Me.MonboutonPrefere.Top = 10
Me.MonboutonPrefere.Height = 50
Me.MonboutonPrefere.Width = 50

Bon, avec ce code, votre bouton aurait bien évidemment changé de position, de couleur, de texte, etc.

Mais c'est un peu lourd comme notation, n'est-ce pas ?

Eh bien, le mot With va rendre tout ça plus lisible (enfin, plus lisible, ça dépend des goûts et habitudes de chacun…).

Donc le code ci-dessus avec notre petit With (et son End With respectif) donnerait :

With Me.MonboutonPrefere
            .ForeColor = Color.Red
            .Text = "Mon nouveau texte"
            .Left = 10
            .Top = 10
            .Height = 50
            .Width = 50
        End With

Eh oui, le With a fait disparaître tous les Me.MonBoutonPrefere devant chaque propriété.

Vous pouvez bien sûr assigner des propriétés à d'autres objets que le bouton durant le With. Un MonLabel.Text = "Test" aurait bien sûr été accepté. Mais je ne vous le conseille tout de même pas, le With n'aurait plus son intérêt.

Eh bien, j'espère que ce mot vous aidera ! Bonne chance pour la suite.

  • Le Form_Load est désormais appelé lors du chargement du programme.

  • Il faut bien veiller à accéder à la bonne propriété de chaque objet. Apprenez à connaître les objets en expérimentant ou en lisant la documentation.

  • Le mot-clé With permet de se substituer à l'objet auquel on veut accéder, et ce jusqu'au End With.

Exemple de certificat de réussite
Exemple de certificat de réussite