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
Programming and Software Development · PDF · 88 pages · 2002
Afficher l'aperçu du document
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 valeursManipulation 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érateur | Opération |
|---|---|
| + | Addition |
| - | Soustraction |
| * | Multiplication |
| / | Division |
| \ | Division entière |
| Mod | Modulo (reste division entière) |
| ^ | Puissance |
Opérateurs de comparaison :
| Opérateur | Signification |
|---|---|
| = | Égalité |
| <> | Inégalité |
| < | Inférieur |
| > | Supérieur |
| <= | Inférieur ou égal |
| >= | Supérieur ou égal |
| Like | Égalité de chaînes avec motif |
| Is | Comparaison de références objets |
| IsNot | Comparaison négative de références objets |
| TypeOf... Is | Test de type |
Opérateurs logiques :
| Opérateur | Signification |
|---|---|
| And | ET logique |
| Or | OU logique |
| Xor | OU exclusif |
| Not | Négation |
| AndAlso | ET logique avec évaluation conditionnelle |
| OrElse | OU 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 taillebackcolor,forecolor: couleurs de fond et de textefont: police de caractèresbackgroundImage: image de fondname: identifiant du contrôle (préfixé par exemplecmdpour Button,txtpour 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: contenumaxlength: longueur maximalepasswordChar: caractère masqué pour mot de passemultiline: 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 nonvisible: visible ou non- Associer touche Enter ou Esc :
acceptButton = cmdOK
cancelButton = cmdCancel
Contrôle ListBox
Liste à choix multiples ou simple :
items: collection des élémentsselectedIndex: indice sélectionnéselectedItem: élément sélectionnéselectedIndicesetselectedItemspour 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, dropDownListtext: valeur choisie ou saisieselectedIndex: 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
nodespour 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
AfterSelectpour réagir aux sélections.
Commentaires
Aucun commentaire pour le moment. Posez la première question.