Introduction to .NET Environment and Visual Basic.Net

Ce laboratoire introduit l’environnement de développement .NET et le langage Visual Basic.Net. Il permet de comprendre les concepts fondamentaux du framework .NET, les bases du langage Visual Basic.Net, ainsi que la création et la gestion des interfaces graphiques à l’aide des contrôles.

D'après le document Introduction to .NET Environment and Visual Basic.Net

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source

Introduction to .NET Environment and Visual Basic.Net

Programming and Software Development · PDF · 88 pages · 2002

Afficher l'aperçu du document

Consulter le document original →

Ce laboratoire introduit l’environnement de développement .NET et le langage Visual Basic.Net. Il permet de comprendre les concepts fondamentaux du framework .NET, les bases du langage Visual Basic.Net, ainsi que la création et la gestion des interfaces graphiques à l’aide des contrôles. Pour réaliser ce TP, il est nécessaire d’avoir accès à un environnement Visual Studio.Net, idéalement la version 2015 ou une version Express gratuite, et des connaissances de base en programmation.

Objectifs

  • Comprendre la différence entre un environnement de développement intégré (EDI) et un framework.
  • Connaître l’architecture et les composants du framework .NET.
  • Apprendre les éléments de base du langage Visual Basic.Net : variables, types, opérateurs, structures de contrôle.
  • Maîtriser la création de projets Windows Forms et l’utilisation des contrôles graphiques.
  • Savoir manipuler les procédures, fonctions et événements dans Visual Basic.Net.
  • Utiliser les boîtes de dialogue pour interagir avec l’utilisateur.

Prérequis et installation

  • Visual Studio.Net (version 2015 recommandée ou version Express gratuite).
  • Connaissances élémentaires en programmation orientée objet.
  • Notions basiques sur les variables, types de données et structures conditionnelles.
  • Accès à un ordinateur sous Windows pour exécuter Visual Studio.Net et les applications Windows Forms.

Introduction à l’environnement .NET

Commencez par distinguer l’EDI du framework :

  • L’EDI (ex. Visual Studio, Eclipse) est un logiciel regroupant les outils nécessaires au développement.
  • Le framework est un ensemble de composants logiciels (classes, bibliothèques) permettant de créer des applications selon une architecture définie.

Le framework .NET, développé par Microsoft, permet de créer des applications Windows, web, mobiles et des services. Il repose sur la Common Language Infrastructure (CLI) et la Common Language Runtime (CLR) qui assurent l’exécution du code intermédiaire (CIL) via une machine virtuelle avec compilation Just In Time (JIT).

La Base Class Library (BCL) fournit une bibliothèque de classes hiérarchisées selon des namespaces comme System, System.Windows, System.Web, System.Data, System.Xml, accessibles par tous les langages compatibles .NET.

Découverte de Visual Basic.Net

Visual Basic.Net est un langage orienté objet évoluant depuis VB 1.0 jusqu’à VB.Net 2010 et au-delà. Il compile tout code source en CIL, commun à tous les langages .NET. L’EDI Visual Studio.Net est nécessaire pour développer en VB.Net.

Dans Visual Studio, créez un projet "Application Windows Forms" pour débuter. Ce type de projet contient :

  • Des formulaires (forms) avec contrôles graphiques (boutons, zones de texte, listes, etc.)
  • Des procédures événementielles associées aux contrôles
  • Des modules pour les procédures et variables globales
  • Des classes pour définir de nouveaux types

Manipulation des variables et types

Déclarez vos variables en respectant les règles :

  • Nom commençant par une lettre, caractères autorisés : lettres, chiffres, underscore
  • Pas de distinction entre majuscules et minuscules
  • Déclaration obligatoire (sauf Option Explicit Off déconseillé)

Exemple de déclaration :

Dim nomVariable As Integer
Dim codePostal? As Integer ' Nullable Integer

Les variables sont initialisées par défaut (0 pour numérique, "" pour chaîne, false pour booléen, null pour Object).

Modificateurs d’accès :

  • Public : accessible partout dans le projet et projets référencés
  • Protected : accessible dans la classe et classes héritées
  • Friend : accessible dans l’assemblage
  • Private (par défaut) : accessible uniquement dans la classe ou module

Constantes et tableaux

Déclarez une constante avec :

Const nomConstante = valeur

Exemples de constantes VB :

  • vbCr : retour chariot (caractère 13)
  • vbLf : saut de ligne (caractère 10)
  • vbCrLf : combinaison retour chariot + saut de ligne
  • vbTab : tabulation (caractère 9)

Déclarez un tableau :

Dim tab(9) As Integer ' tableau de 10 éléments (indices 0 à 9)
Dim mat(4, 3) As String ' tableau 2D

Utilisez les propriétés :

  • Length : taille totale
  • GetLength(dim) : taille de la dimension dim
  • Rank : nombre de dimensions

Redimensionnez un tableau avec :

Redim tab(30) ' perd les valeurs
Redim Preserve tab(30) ' conserve les valeurs

Manipulation des chaînes de caractères

Les chaînes sont des objets String. Exemples d’utilisation :

Dim ch As String = "Cours VB.net"
Dim longueur As Integer = ch.Length
Dim sousChaine As String = ch.Substring(0, 5)
Dim estEgal As Boolean = ch1.Equals(ch2)
Dim comparaison As Integer = ch1.CompareTo(ch2)
Dim chModifiee As String = ch1.Replace("VB", "Visual Basic")
Dim index As Integer = ch1.IndexOf("cours")
Dim chMajuscule As String = ch.ToUpper()
Dim chTrim As String = ch.Trim()

Structures et enregistrements

Déclarez une structure pour regrouper des données :

Public Structure employe
  Public nom As String
  Public prenom As String
  Public telephone As Long
  Private salaire As Double

  Public Sub augmenterSalaire(ByVal montant As Double)
    salaire = salaire + montant
  End Sub

  Public Function obtenirSalaire() As Double
    Return salaire
  End Function
End Structure

Utilisation :

Dim emp As employe
emp.nom = "Ben Ali"
emp.prenom = "Mohamed"
emp.augmenterSalaire(200)
Console.WriteLine(CStr(emp.obtenirSalaire()))

Opérateurs

Opérateurs arithmétiques :

OpérateurOpération
+Addition
-Soustraction
*Multiplication
/Division
\Division entière
ModModulo (reste division entière)
^Puissance

Opérateurs de comparaison :

OpérateurSignification
=Égalité
<>Inégalité
<Inférieur
>Supérieur
<=Inférieur ou égal
>=Supérieur ou égal
LikeÉgalité de chaînes avec motif
IsComparaison de références objets
IsNotComparaison négative de références objets
TypeOf... IsTest de type

Opérateurs logiques :

OpérateurSignification
AndET logique
OrOU logique
XorOU exclusif
NotNégation
AndAlsoET logique avec évaluation conditionnelle
OrElseOU logique avec évaluation conditionnelle

Instructions de base : affichage et lecture

Pour afficher un message dans la console :

Console.WriteLine("Message à afficher")

Pour lire une entrée utilisateur :

Dim var As String
var = Console.ReadLine()

Structures conditionnelles

Exemple d’instruction If :

If condition Then
  ' instructions
Else
  ' autres instructions
End If

Exemple d’instruction Select Case :

Select Case reponse
  Case "oui", "OUI"
    Console.WriteLine("Réponse positive")
  Case "non", "NON"
    Console.WriteLine("Réponse négative")
  Case Else
    Console.WriteLine("Réponse indéterminée")
End Select

Structures itératives

Exemples :

For i = 1 To 10
  ' instructions
Next

While condition
  ' instructions
End While

Do While condition
  ' instructions
Loop

Do
  ' instructions
Loop While condition

Procédures et fonctions

Déclaration d’une procédure :

Private Sub nomProcedure([paramètres])
  ' instructions
End Sub

Appel :

nomProcedure([arguments])

Déclaration d’une fonction :

Private Function nomFonction([paramètres]) As Type
  ' instructions
  Return valeur
End Function

Appel :

Dim resultat As Type = nomFonction([arguments])

Passage des paramètres :

  • Par valeur : ByVal (par défaut)
  • Par référence : ByRef

Exemple :

Public Sub minMaxTab(ByVal T() As Integer, ByRef min As Integer, ByRef max As Integer)
  ' code
End Sub

Procédures événementielles

Une procédure événementielle réagit à une action utilisateur (ex. clic sur un bouton) :

Private Sub cmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOK.Click
  ' code exécuté lors du clic sur cmdOK
End Sub

Cette procédure s’exécute automatiquement lorsque l’utilisateur clique sur le bouton nommé cmdOK.

Boîtes de dialogue

Boîte de saisie

Permet à l’utilisateur de saisir une chaîne de caractères :

Dim resultat As String
resultat = InputBox("Veuillez saisir votre nom", "Identification", "votre nom")

Si l’utilisateur annule, resultat est une chaîne vide.

Boîte de message

Permet d’afficher un message avec des boutons de réponse :

Dim rep As Integer
rep = MessageBox.Show("Voulez-vous enregistrer en quittant l’application", "Fin de programme", MessageBoxButtons.YesNoCancel, _
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)

La variable rep reçoit un code correspondant au bouton cliqué :

  • 1 : OK
  • 2 : Cancel
  • 3 : Abort
  • 4 : Retry
  • 5 : Ignore
  • 6 : Yes
  • 7 : No

Les contrôles dans Visual Basic.Net

Les contrôles sont des composants graphiques permettant de créer l’interface utilisateur. Ils dérivent majoritairement de la classe Control et sont accessibles via la boîte à outils de Visual Studio.

Propriétés communes

  • left, top, width, height : position et taille
  • backcolor, forecolor : couleurs de fond et de texte
  • font : police de caractères
  • backgroundImage : image de fond
  • name : identifiant du contrôle (préfixé par exemple cmd pour Button, txt pour TextBox)

Familles de contrôles

  • Contrôles d’affichage : Label, LinkLabel, ToolTip, ErrorProvider, ProgressBar
  • Contrôles d’édition de texte : TextBox, MaskedTextBox, RichTextBox
  • Contrôles de déclenchement d’actions : Button, MenuStrip, ToolStrip
  • Contrôles de sélection : CheckBox, RadioButton, ListBox, ComboBox, TreeView
  • Contrôles de regroupement : GroupBox, Panel, TabControl
  • Contrôles graphiques : PictureBox, ImageList
  • Contrôles de gestion du temps : DateTimePicker, Timer

Exemple d’utilisation d’un contrôle Label

Propriétés importantes :

  • text : contenu affiché
  • autosize : redimensionnement automatique selon contenu (True/False)
  • Modification de la police :
lblNom.Font.Bold = True
lblNom.Font.Size = 16
lblNom.Font.Name = "Arial"
lblNom.Font.Italic = False

Contrôle TextBox

Permet la saisie de texte avec propriétés :

  • text : contenu
  • maxlength : longueur maximale
  • passwordChar : caractère masqué pour mot de passe
  • multiline : texte sur plusieurs lignes (True/False)
  • scrollbars : barres de défilement (none, horizontal, vertical, both)

Contrôle MaskedTextBox

Permet de définir un masque de saisie :

  • 0 : chiffre obligatoire
  • 9 : chiffre ou espace optionnel
  • L : lettre obligatoire
  • ? : lettre optionnelle
  • C : caractère quelconque
  • ., /, :, $ : séparateurs ou symboles
  • < et > : forcent minuscules ou majuscules
  • \ : échappement

Contrôle Button

Propriétés :

  • text : texte affiché
  • enabled : activé ou non
  • visible : visible ou non
  • Associer touche Enter ou Esc :
acceptButton = cmdOK
cancelButton = cmdCancel

Contrôle ListBox

Liste à choix multiples ou simple :

  • items : collection des éléments
  • selectedIndex : indice sélectionné
  • selectedItem : élément sélectionné
  • selectedIndices et selectedItems pour sélection multiple

Parcourir les éléments sélectionnés :

For Each o As Object In lstNbPieces.SelectedItems
  Console.WriteLine(o)
Next

Contrôle CheckedListBox

Liste avec cases à cocher indépendantes de la sélection :

For Each elt In CheckedListBox1.CheckedItems
  Console.WriteLine(elt.ToString)
Next

' Ou bien
For i = 0 To CheckedListBox1.Items.Count - 1
  If CheckedListBox1.GetItemChecked(i) = True Then
    Console.WriteLine(CheckedListBox1.Items(i))
  End If
Next

Contrôle ComboBox

Liste à choix unique avec possibilité de saisie :

  • dropDownStyle : simple, dropDown, dropDownList
  • text : valeur choisie ou saisie
  • selectedIndex : indice sélectionné (-1 si saisie)

Contrôle TreeView

Affichage arborescent :

  • nodes : collection des nœuds racines
  • Chaque nœud possède sa propre collection nodes pour les enfants

Exemple d’ajout et suppression de nœuds :

Dim noeud As TreeNode = New TreeNode("Twingo")
Dim noeud2 As TreeNode = New TreeNode("307")
TreeView1.Nodes(1).Nodes.Add(noeud) ' ajoute "Twingo" sous "Renault"
TreeView1.Nodes(0).Nodes.RemoveAt(0) ' supprime "206"
TreeView1.Nodes(0).Nodes.Insert(0, noeud2) ' insère "307" sous "Peugeot"

Gestion de l’événement de sélection :

Private Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
  Select Case e.Node.Text
    Case "Peugeot"
      Console.WriteLine("Peugeot")
    Case "Renault"
      Console.WriteLine("Renault")
    Case "Opel"
      Console.WriteLine("Opel")
  End Select
End Sub

Résultats attendus

  • Compréhension claire de la distinction entre EDI et framework .NET.
  • Capacité à créer un projet Windows Forms et à y ajouter des contrôles fonctionnels.
  • Maîtrise de la déclaration et manipulation des variables, constantes et tableaux.
  • Utilisation correcte des structures conditionnelles et itératives.
  • Développement de procédures, fonctions et gestion des événements.
  • Affichage et lecture via la console et interaction avec l’utilisateur par boîtes de dialogue.
  • Manipulation efficace des contrôles graphiques et gestion des événements associés.

Pièges courants

  • Confondre EDI et framework, ce qui peut entraîner une mauvaise compréhension de l’architecture .NET.
  • Oublier de déclarer les variables ou utiliser des noms non valides.
  • Ne pas respecter les modificateurs d’accès, rendant les variables inaccessibles ou provoquant des erreurs.
  • Utiliser l’opérateur + pour concaténer des chaînes sans tenir compte du mode Strict du compilateur.
  • Perdre les données lors du redimensionnement d’un tableau sans utiliser Redim Preserve.
  • Ne pas gérer correctement les événements, ce qui empêche l’exécution du code attendu.
  • Ne pas vérifier les valeurs retournées par les boîtes de dialogue, ce qui peut provoquer des erreurs logiques.
  • Dans les contrôles TreeView, oublier de gérer l’événement AfterSelect pour réagir aux sélections.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions