Vous êtes sur la page 1sur 41

www.developpez.c.

la

Cours & TP VISUAL BASIC .NET


Table des matires Introduction .NET-----------------------------------------------------------------------------------Section 1 : Introduction Visual Basic .NET - Structures de base................................................
1.1 Variable et oprations arithmtiques.................................................................................................. 1.1.1 Notion de Variable ........................................................................................................................................... 1.1.2 Oprateurs arithmtiques.................................................................................................................................. 1.2 Instructions conditionnelles ................................................................................................................. 1.2.1 If Then Else End If ............................................................................................................................ 1.2.2 IIf (Condition, ValeurSiVrai, ValeurSiFaux)................................................................................................. 1.2.3 Select case Case Case Else Case End Select .............................................................................. 1.3 Tableaux .............................................................................................................................................. 1.4 Instructions rptitives....................................................................................................................... 1.4.1 For To Next ......................................................................................................................................... 1.4.2 Do While Loop / Do Loop While .................................................................................................... 1.4.3 Do Until Loop / Do Loop Until ....................................................................................................... 1.4.4 For Each Next....................................................................................................................................... 1.4.5 Conclusion...................................................................................................................................................... 1.5 Procdures et Fonctions ..................................................................................................................... 1.5.1 Procdure (Transmission par valeur : ByVal) ............................................................................................... 1.5.2 Procdure (Transmission par rfrence : ByRef) ........................................................................................... 1.5.3 Fonction......................................................................................................................................................... 1.5.5 Porte des variables, procdures et fonctions................................................................................................. 1.5.6 Quelques fonctions globales........................................................................................................................... 1.5.7 Interruption de squences............................................................................................................................... Section 2. Introduction lenvironnement de dveloppement VB ................................................ 2.1 Environnement VB............................................................................................................................. 2.1.1 Formulaires (Forms)....................................................................................................................................... 2.1.2 Lexplorateur des solutions ............................................................................................................................ 2.1.3 La fentre Properties....................................................................................................................................... 2.1.4 La bote outils et les contrles standards ..................................................................................................... 2.2 Programmation par vnements ...................................................................................................... 2.3 Exercices.............................................................................................................................................. Section 3. Les contrles................................................................................................................... 3.1 Concept dobjet................................................................................................................................... 3.2 Contrles standards............................................................................................................................ 3.2.1 La proprit Name ...................................................................................................................................... 3.2.2 Label............................................................................................................................................................... 3.2.3 TextBox.......................................................................................................................................................... 3.2.4 RadioButton.................................................................................................................................................... 3.2.5 CheckButton.................................................................................................................................................. 3.2.7 GroupBox ....................................................................................................................................................... 3.2.8 Exercices ....................................................................................................................................................... 3.2.9 ListBox........................................................................................................................................................... 3.2.10 ComboBox.................................................................................................................................................... 3.2.11 La proprit Items......................................................................................................................................... 3.2.12 Exercices ...................................................................................................................................................... 3.2.13 Solution ........................................................................................................................................................ 3.2.14 Lditeur de menus....................................................................................................................................... 3.2.14 Lditeur de menus.......................................................................................................................................

1/41

www.developpez.c.la Introduction .NET .NET (prononcez Dotnet) est un standard propos par la socit Microsoft, pour le dveloppement d'applications d'entreprises multi-niveaux, bases sur des composants. Microsoft .NET constitue ainsi la rponse de Microsoft la plate-forme J2EE de Sun. La plate-forme .NET a t labore en s'appuyant sur une communaut d'utilisateurs et a abouti l'laboration de spcifications. Ces spcifications ont t ratifies par un organisme international de standardisation, l'ECMA (European Computer Manufacturers Association), ce qui en fait un standard. Ainsi l'effort de standardisation a permis l'mergence de platesformes portes par des entreprises tierces et disponibles sous un grand nombre de systmes d'exploitation. J2EE :Java 2 Platform, Enterprise Edition est une spcification pour le langage de programmation
Java de Sun plus particulirement destine aux applications d'entreprise. Dans ce but, toute implmentation de cette spcification contient un ensemble d'extension au framework Java standard (J2SE, Java 2 standard edition) afin de faciliter la cration d'applications rparties.

On parle gnralement de Framework (traduisez socle) pour dsigner l'ensemble constitu des services (API) (Une API : Application Programming Interface :Interface normalise permettant un logiciel de
faire appel aux fonctions d'un autre programme dj disponible sur une machine. Elle a pour objet de faciliter le travail d'un programmeur en lui fournissant les outils de base ncessaires tout travail l'aide d'un langage donn. Elle constitue une interface servant de fondement un travail de programmation plus pouss.) offerts et de l'infrastructure

d'excution. Le framework .NET comprend notamment :

L'environnement d'excution :
o

o o

un moteur d'excution, appel CLR (Common Language Runtime), permettant de compiler le code source de l'application en un langage intermdiaire, baptis MSIL (Microsoft Intermediate Language) et agissant telle la machine virtuelle Java. Lors de la premire excution de l'application, le code MSIL est son tour compil la vole en code spcifique au systme grce un compilateur JIT (Just In Time). un environnement d'excution d'applications et de services web, appel ASP .NET ; un environnement d'excution d'applications lourdes, appel WinForms.

Des services, sous forme d'un ensemble hirarchis de classes appel Framework Class Library (FCL). La FCL est ainsi une librairie oriente objet, fournissant des fonctionnalits pour les principaux besoins actuels des dveloppeurs. Le SDK (Software Development Kit) fournit une implmentation de ces classes.

Il y a trois couches au dessus du CLR, chacune comportant des classes apportant des fonctionnalits de plus en plus volues.
2/41

www.developpez.c.la > Base Class Library Dans la premire couche se trouve la BCL, rassemblant des classes permettant les manipulations de chanes de texte, la gestion des entres/sorties, des communications rseaux, des threads et le design des interfaces utilisateur. Ces classes sont similaires celles prsentes dans l'API Java dveloppe par Sun. Par exemple, la manipulation des chanes est disponible dans la classe String, dans les deux langages; la diffrence tant qu'en Java il n'existe pas de type de base pour manipuler les chanes (on manipule des objets 'String'), alors qu'en .NET, le type string (avec un 's' minuscule) a spcifiquement t dfini. > Data and XML Classes La deuxime couche est compose de deux bibliothques de classes d'accs aux donnes. Tout d'abord, ADO.NET, s'levant sur les bases de l'ancien ADO (ActiveX Data Objects) utilis par les dveloppeurs ASP, et permettant l'accs sous format XML aux interfaces de bases de donnes SQL Server, ODBC, OLE DB, Oracle et Sybase, et bien sr aux fichiers XML. Les XML Classes permettent de manipuler les donnes XML. On y trouve par exemple les classes XSLT permettant la transformation d'un document XML vers n'importe quel type d'autre document. Un autre exemple, il est trs facile de charger un document XML dans une table, et vice versa, grce au XML sous-jacent. > XML Web Services, Web Forms, Windows Forms La dernire couche, la plus leve, est utilise pour la cration de Web Services, de pages Web, et d'applications Windows. Les deux premiers forment ASP.NET, l aussi une rfrence l'ancien langage de programmation Web. Lorsque vous visitez des sites Internet, vous pouvez remarquer les pages se terminant par .aspx qui sont des pages Web crites en .NET, tandis que les pages crites en ASP se terminent en .asp (pour s'amuser on peut trs bien modifier les configurations du serveur IIS de Microsoft pour modifier l'extension des fichiers ASP.NET alors que ce n'est pas une gnralit).

Structure d'une application .NET L'unit de base d'une application .NET est appele un assemblage (assembly). Il s'agit d'un ensemble de code, de ressources et de mtadonnes. Un assemblage est toujours accompagn par un manifeste (assembly manifest) qui dcrit ce qu'il contient : nom, version, types de donnes exposes, autres assemblages utiliss, instructions de scurit. Un assemblage est compos de un ou plusieurs modules qui contiennent le code. Compilation et excution d'une application .NET Tout comme avec java, quand une application .NET est compile, elle n'est pas compile en code binaire machine, mais dans un code binaire intermdiaire MSIL. Une application consiste donc en un ensemble d'assemblages contenus dans un ou plusieurs fichiers excutables ou fichiers DLL en MSIL. Au moins un de ces assemblages doit contenir un point d'entre afin de dmarrer l'application. Quand l'excution d'un programme dmarre, le premier assemblage est charg en mmoire. Le CLR commence par examiner les permissions demandes par cet assemblage et les compare la politique de scurit (security policy) du systme. Puis, si l'assemblage est autoris s'excuter, un processus est cr pour excuter l'application. Le premier morceau de code ncessaire l'excution est charg en mmoire et est compil en code binaire natif par le compilateur JIT (Just-In-Time, juste temps). Une fois compil, le code est excut et stock en mmoire sous forme de code natif, garantissant ainsi que chaque portion de code n'est compile qu'une seule fois lors de l'excution de l'application.. Microsoft a aussi dvelopp une version allge du framework pour le dveloppement d'applications pour son systme d'exploitation pour assistants personnels : le .NET compact framework. Il existe aussi des implmentations libres de dot net, notamment Mono et DotGNU. Le framework .NET est un composant installable sur les systmes d'exploitation Microsoft Windows

3/41

www.developpez.c.la Les langages Grce au CLR, la plate-forme .NET est indpendante de tout langage de programmation et supporte nativement un grand nombre de langages de programmation, parmi lesquels :

Visual Basic, C# ( mlange de C++ et de Java), J#( proche du Java, mais non compatible java), C++, Ada, APL, Cobol, Eiffel, Fortran, Haskell, Jscript,

Visual Basic .Net reprsente une volution technologique fondamentale par rapport Visual Basic 6. Cependant, les programmeurs ayant travaill sur cette dernire version n'auront pas de difficult pour progresser dans l'apprentissage de ce changement. volutions : L'orientation objet beaucoup plus marque avec notamment l'intgration de la technologie de l'hritage, qui jusqu' ce jour limitait l'industrialisation du code Visual Basic. l'intgration de l'environnement de dveloppement (IDE) dans la suite Visual Studio permettant d'utiliser d'autres langages comme Visual C++ ou Visual C#. La connexion aux bases de donnes facilite par l'amlioration des outils de glisser-dposer et l'utilisation de la dernire technologie ADO. La possibilit de crer des applications Internet beaucoup plus performantes grce l'intgration de la technologie XML . Un gnrateur de code SQL beaucoup plus performant. L'criture de gestionnaires d'erreurs tenant compte du Multithreading. La porte des instructions GOTO est limite (les sauts ne peuvent se faire qu'au sein d'une mme fonction). La dclaration des variables est rendue obligatoire par dfaut (contrairement au Visual Basic 6 o cette fonctionnalit tait dsactive par dfaut). L'intgration de nouvelles classes d'objet .NET tout en permettant pour les versions intermdiaires de rutiliser les objets .COM rendant la migration plus facile de Visual Basic 6 VB Net. Le langage C# La langage C# a t dvelopp spcifiquement pour la plate-forme .NET. Il s'agit d'un langage orient objet, driv de C++. Il en reprend les majeures caractristiques, tout en simplifiant son utilisation. Visual Studio .NET Visual Studio .NET ne fait pas partie du framework .NET. Il s'agit tout simplement d'un environnement de dveloppement intgr propos par Microsoft pour dvelopper des applications conformes aux spcifications de .NET. .NET - Les classes : Les classes de la librairie objet La librairie objet du Framework Microsoft .NET (Framework Classes Library) est un ensemble de classes unifi et hirarchis offrant un grand nombre de fonctionnalits standard. La FCL permet ainsi d'utiliser un grand nombre d'interfaces prdfinies sans avoir grer de multiples librairies. Les classes du framework .NET sont gnralement prsentes dans un tableau comme suit :

4/41

www.developpez.c.la System.Web UI Security SessionState System.Windows.Forms Form Button MessageBox ListControl... Drawing2D Imaging XSLT XPath System Security ServiceProcess Text Threading System.Drawing Printing Text.. System.XML Serialization

Services Caching Configuration

OLEDB Design Collections Configuration Diagnostics Globalization

System.Data SQL SQLTypes IO Net Reflection Resources

Runtime

Microsoft Visual Studio est une suite de logiciels de dveloppement pour Windows conu par Microsoft. La dernire version s'appelle Visual Studio 2005.

Logiciels de Visual Studio Visual Basic, Visual C++, Visual C#, Visual Web Developer, Visual J#, SQL Server
Les versions successives : Visual Studio 97 La premire version de Visual Studio a t publie en 1997 par Microsoft, afin de rassembler au sein d'un mme environnement de dveloppement plusieurs de ses outils de programmation. Visual Studio 97 incluait Visual Basic 5.0 et Visual C++ 5.0, pour le dveloppement d'application Windows, Visual J++ 1.1 pour la programmation Java et Visual FoxPro 5.0 pour la programmtion xBase. Visual InterDev tait utilis pour crer des pages web gnres dynamiquement en ASP. Visual Studio 6.0 La version suivante (6.0) date de 1998. Les numros de version de tous ses constituants sont passs galement 6.0. Cette version a t la base du dveloppement pour Microsoft pour les quatre annes suivantes, jusqu'au passage au dveloppement .NET. Visual Studio 6.0 a t la dernire version incluant Visual Basic tel que le connaissait la majeure partie des programmeurs VB. C'est galement la dernire version inclure Visual J++. Visual Studio .NET (2002) En 2002, Visual Studio .NET est publi. Le principal changement a t l'introduction du .NET Framework. Les programmes dvelopps en utilisant .NET ne sont pas compils en langage machine (au contraire du C++, par exemple) mais dans un langage intermdiaire nomm MSIL (MicroSoft Intermediate Language) ou CIL (Common Intermediate Language). Une application MSIL est ensuite compile, au moment de son excution, dans le langage machine appropri la plate-forme sur laquelle elle est excute. Cette compilation s'appelle une compilation juste temps (Just-In-Time en anglais ou JIT). Microsoft a aussi introduit le langage C#, similaire au langage Java. Visual Basic, renomm Visual Basic .NET, a subi des modifications drastiques pour correspondre au nouveau framework, notamment en introduisant la programmation oriente objet. Microsoft a galement ajout des extensions au C++, appeles Managed Extensions for C++, de manire ce que les programmeurs C++ puissent crer des programmes .NET. Visual Studio .NET peut tre utilis pour construire des applications Windows (utilisant les Windows Forms), des applications Web (en ASP.NET ou avec des Web Services) ou encore des applications mobiles (avec le .NET Compact Framework). Le numro de version interne de Visual Studio .NET est 7.0.

5/41

www.developpez.c.la
Visual Studio .NET 2003 Il s'agit d'une mise jour mineure de Visual Studio 2002. Le Framework .Net est pass la version 1.1. Le numro de version interne de Visual Studio 2003 est 7.1.

Visual Studio .NET 2003 est disponible dans les ditions suivantes Visual Studio .NET Enterprise Architect offre toute la puissance de la version Enterprise Developer, avec des fonctions supplmentaires pour concevoir, spcifier et communiquer l'architecture et les fonctionnalits des applications. Visual Studio .NET Enterprise Developer offre un puissant environnement de dveloppement en quipe, pour crer rapidement des applications essentielles pour toutes sortes de terminaux et de platesformes. Visual Studio .NET Professional vous permet de crer rapidement des applications pour Windows, le Web, les terminaux Web mobiles, les PC de poche et d'autres terminaux incorpors excutant .NET Compact Framework. Ce comparatif ne prend pas en compte les versions initiations limites un seul langage de dveloppement
Visual Studio 2005 Visual Studio 2005, nom de code Whidbey (en rfrence NAS Whidbey Island dans l'Ocan Pacifique), a t publie en ligne en octobre 2005. Le Framework .NET est alors dans sa version 2.0. Une des nouvelles fonctionnalits de cette version est le "Deployment Designer" permettant de valider la conception d'applications avant leur dploiement. L'ASP.net est pass en 2.0. Visual Studio 2005 inclut un support du 64-bit. La nouvelle API du Framework .Net inclus les types gnriques permettant de crer des patrons de classes ou de mthodes. Le numro de version interne de Visual Studio 2005 est 8.0 (il s'agit d'une rvision majeure). Visual Studio Express Microsoft propose maintenant aux internautes des versions "express" dans un package nomm Microsoft Visual Studio Express. Ces versions sont gratuites et disponibles sur le site de tlchargement. Cependant, il n'existe pas de version express de Visual Studio complet. Les lments sont disponibles indpendamment les uns des autres (Visual Basic, Visual C++, ...).

Le Kit de dveloppement Microsoft .NET Framework SDK 2.0 (x86) comprend des outils, de la documentation et des exemples utiles aux dveloppeurs pour crire, gnrer, tester et dployer des applications .NET Framework. (Taille du tlchargement: 377.4 Mo) Vous devez installer le package redistribuable de Microsoft .NET Framework 2.0 (x86) avant d'installer le Kit de dveloppement .NET Framework 2.0 SDK (x86). Configuration minimale: Systmes d'exploitation pris en charge : Windows 2000 Service Pack 3; Windows Server 2003; Windows Vista Business; Windows Vista Enterprise; Windows Vista Home Basic; Windows Vista Home Premium; Windows Vista Starter; Windows Vista Ultimate; Windows XP Service Pack 2 Logiciels requis : .NET Framework 2.0 (x86) : Vous devez installer le .NET Framework 2.0 (x86) avant d'installer le Kit de dveloppement .NET Framework SDK (x86). Module de prise en charge linguistique du .NET Framework 2.0 (x86) : Vous devez installer le module de prise en charge linguistique du .NET Framework 2.0 (x86) qui correspond la version linguistique installe du Kit de dveloppement .NET Framework SDK (X86). Utilisateurs de Visual Studio 2005 : si vous avez dj install Microsoft Visual Studio 2005 ( l'exception des versions Express), vous n'avez pas besoin d'installer le Kit de dveloppement .NET Framework SDK sparment. Le Kit de dveloppement fait partie des composants optionnels installer en mme temps que Visual Studio 2005.

6/41

www.developpez.c.la

0. Introduction

Pr-requis : Ce tutorial suppose que vous soyez familier avec un langage structur de programmation (comme le Java ou Pascal). Certains concepts seront cependant, brivement rappels. Contenu de ce tutorial: Ce tutorial vous prsente Visual Basic (VB) .NET de manire succincte. Il vous introduit la programmation multi-fentre sous MS Windows en vous exposant les outils de base de VB. Limites de ce tutorial: Ce tutorial nest pas un manuel de rfrence VB .NET. Pour des fonctionnalits plus avances, rfrez vous dautres ressources, notamment des livres ou sites Web sur Internet traitant de VB .NET. Partie 1 : Sections 1 et 2. Introduction VB .NET et lenvironnement de dveloppement VB .NET Vous introduit lenvironnement de travail de VB .NET et la programmation avec VB .NET. Partie 2 : Section 3. Les contrles (toutes les sous-sections jusqu la sous-section 3.2.7) Vous introduit la programmation des contrles Label, TextBox, RadioButton, CheckBouton et GroupBox. Partie 3 : Section 3. Les contrles (toutes les sous-sections jusqu la sous-section 3.2.14) Vous introduit la programmation des contrles utilisant des listes : ListBox, ComboBox et Menu.

SECTION 1 : INTRODUCTION VISUAL BASIC .NET -STRUCTURES DE BASE Dans cette section nous allons prsenter les structures de base de la programmation en VB. Nous allons dabord prsenter la notion de variable, les diffrents types standards, les oprateurs arithmtiques, les structures usuelles: structures de contrles (Instructions conditionnelles et rptitives), les structures de donnes labores (vecteurs et matrices) et finalement, les procdures et les fonctions. Quelques remarques prliminaires : Cette premire section prsente les structures thoriques de VB. Il est conseill de la parcourir une premire fois (sans trop insister) pour avoir une ide des structures de base de VB. Au fur et mesure que vous avancerez dans le cours, vous devez y revenir pour approfondir la partie qui vous intresse. Votre application VB sera compose dun ou plusieurs fichiers (formulaires et modules) contenant du code VB. Il nexiste pas de sparateurs dinstructions en VB (comme le ; en Pascal ou en C et le . en Cobol). VB ne fait pas de distinction entre les minuscules et les majuscules. Ainsi, ValeurVariable et vALEURvARIABLE reprsentent la mme variable. En fait, VB est trs intelligent, en ce sens quil vous rcrira (automatiquement) la variable dans le format de caractres que vous avez utilis lors de sa dclaration. 1.1 Variable et oprations arithmtiques 1.1.1 Notion de Variable Les variables sont ncessaires pour stocker (conserver) une valeur dynamique et rutilisable. C'est en fait une simple zone mmoire qui porte un nom choisi par le programmeur. Le nom de la variable est une adresse mmoire. Si lon veut une programmation cohrente, il faut dclarer chaque variable en
7/41

www.developpez.c.la prcisant le type de celle-ci. La dclaration se fait avec le mot rserv Dim. Syntaxe : Dim NomVariable As Type Pour la lisibilit du code, on peut ajouter un commentaire aprs une apostrophe ( ) Exemple : Ceci est un commentaire Dim Taux As Single Taux de la TVA Dim Rponse As String Mot propos par le joueur Par dfaut, le compilateur VB considre que toute variable qui apparat doit avoir t dclare. Toutefois, si vous ajoutez dans votre code la ligne Option Explicit Off VB sera permissif et vous autorisera utiliser des variables sans les dclarer. Prenez la trs bonne habitude de toujours dclarer vos variables. Pour viter tout problme il est prfrable dinitialiser les variables dclares. Exemples Compteur = 0 = est le symbole daffectation en VB Taux = 21 Le langage VB utilise plusieurs types de donnes dont les plus utiliss sont le type String (chane de caractres), le type Integer (entier) et le type Single (dcimal). Les types standards de donnes en VB sont rsums dans le tableau ci-dessous. Types standards de donnes Oprateur Plage de valeurs Nombres entiers de 32 768 +32 767 Integer Single Nombres rels avec prcision de sept dcimales Valeurs ngatives : de 3,402823E38 1,401298E-45 Valeurs positives: de 1,401298E-45 3,402823E38 Chane de caractres pouvant aller jusqu' 65535 caractres (environ 2 milliards si la longueur est variable) Nombres entiers de 2 147 483 648 +2 147 483 647 Nombres rels avec prcision de seize dcimales Valeurs ngatives : De 1,79769313486232E308 4,94065641247E324 Valeurs positives: De 4,94065641247E324 1,79769313486232E308 Nombres entiers de 0 255 Vrai ou faux (valeur logique) De 1/1/100 31/12/9999 Nombres entiers de 922337203685477,5808 922337203685477,5808 Dclaration et affectation Dim Nb As IntegerNb = 100 Dim Mt As SingleMt = 45.11

String

Dim as StringPrnom = Jean

Long Double

Dim Profit As LongProfit = 123 465 789 Dim DblPrec As Double Mt = 1.23456789012

Byte Boolean Date Currency

Dim BitPattern As ByteBitPattern = 128 Dim Test As Boolean Trouv = True Dim JourPlus As Date JourPlus = 06/06/44 Dim Valeur As Currency

8/41

www.developpez.c.la 1.1.2 Oprateurs arithmtiques VB reconnat les oprateurs arithmtiques usuels qui sont rsums dans le tableau suivant : Oprateur +, * / ^ \ MOD Description Addition et soustraction Multiplication Division dcimale Puissance Division entire Modulo (reste de la division entire) Exemples 12 + 34; 87.56 387.222 45.87 * 4 36 / 25 = 1.44 5 ^ 3 =125 36 \ 25 = 1 36 MOD 25 = 11

Si, dans une expression arithmtique plusieurs oprateurs sont utiliss, les priorits sont rsolues comme indiqu dans le tableau qui suit : Priorit des oprateurs arithmtiques Oprateur Description () Parenthses ^ Puissance Ngation *,/ Multiplication et division \ Division entire MOD Modulo +, Addition et soustraction

Priorit 1 2 3 4 5 6 7

1.2 Instructions conditionnelles Les deux instructions conditionnelles le plus utilises en VB sont If et Select Case. 1.2.1 If Then Else End If Si la condition se trouvant aprs le mot rserv If est vraie, les instructions qui suivent le mot rserv Then sont excutes sinon, ce sont celles qui suivent le mot rserv Else qui sont excutes. Linstruction If se termine (obligatoirement) avec les mots rservs End If. Forme simple : Syntaxe If condition(s) Then Instruction11 Instruction12 Else Instruction21 Instruction22 End If Exemple If Moyenne >= 12 ThenAdmis = Admis + 1 MsgBox(" Candidat admis ") affiche une fentre avec le message indiqu Else Ajourns = Ajourns + 1 MsgBox(" Candidat ajourn ") End If
9/41

www.developpez.c.la Forme imbrique Syntaxe If condition(s) Then Instruction11 If condition Then Instruction12 Else if condition Then Instruction13 Else Instruction14 End If Else Instruction21 Instruction22 End If Exemple If NombrePropos > NombreATrouver Then MsgBox("Votre nombre est trop grand !") ElseIf NombrePropos < NombreATrouver Then MsgBox("Votre nombre est trop petit !") Else MsgBox("Gagn !") End If Oprateurs de comparaison Exemple Rsultat Oprateur Signification = Egal 15 = 11 + 4 True > Suprieur 17 > 11 True < Infrieur 17 < 11 False <> Diffrent de 23 <> 23.1 True >= Suprieur ou gale 23 >= 23.1 False <= Infrieur ou gal 23 <= 23.1 True Si plusieurs conditions doivent tre testes, celles-ci doivent tre combines avec des oprateurs logiques. VB accepte les oprateurs logiques suivants: AND, OR, NOT et XOR. La signification de chacun deux est prsente dans le tableau qui suit: Oprateurs logiques Oprateur Signification Exemple Rsultat Connexion ET. Il faut que les conditions soient ( 1 = 1) AND (2 < 4) True AND vraies pour que le rsultat soit vrai ( 1 > 2) AND (2 = 4) False Connexion OU. Il faut que lune des deux ( 1 = 2) OR (3 < 2) ( False True OR conditions soit vraie pour que le rsultat soit vrai 1 > 2) OR (2 > 1) Connexion NON. La valeur logique est inverse EstCeVrai = True NOT NOT EstCeVrai False Connexion OU exclusif. Une seule des deux ( 1 = 1) XOR (2 = 2) False True XOR conditions doit tre vraie pour que le rsultat ( 2 > 1) XOR (3 < 1) soit vrai
10/41

www.developpez.c.la 1.2.2 IIf (Condition, ValeurSiVrai, ValeurSiFaux) Cette instruction (IIF) fonctionne comme le IF d'EXCEL. Syntaxe IIf (Condition, ValeurSiVrai, ValeurSiFaux) Exemple Dim Note As Single Dim Rponse As String Note = InputBox (" Tapez votre note ") Rponse = IIf (Note >= 10, " Admis ", " Ajourn ") MsgBox (Rponse) 1.2.3 Select case Case Case Else Case End Select Linstruction Select Case est une instruction conditionnelle alternative, cest--dire quune expression peut tre teste par rapport plusieurs valeurs possibles. Syntaxe Select Case expression Case Liste_Valeurs_1 Instruction11 Instruction12 Case Liste_Valeurs_2 Instruction21 Else Case InstructionElse1 InstructionElse2 End Select Les instructions se trouvant aprs Case Liste_Valeurs_i seront excutes si expression = lun des lments de Liste_Valeurs_i, i = 1, 2, 3, . Sinon, les instructions se trouvant aprs Else Case seront excutes. Liste_Valeurs_i peut tre : une suite de valeurs : 1, 3, 5, 7, 9 une fourchette de valeur : 0 To 9 une plage de valeur : Is >= 10 (Is est un mot rserv) Select Case CodeASCIICaractre Case 65, 69, 73, 79, 85 MsgBox(" Cest une voyelle ") Case 66 To 90 MsgBox(" Cest une consonne ") Case Else MsgBox(" Ce nest pas une lettre ") End Select Notez que Liste_Valeurs_i peut tre une combinaison de listes de valeurs comme dans le cas des exemples suivants :
11/41

www.developpez.c.la Case 1 To 4, 7 To 9, 11, 13, Is > NombreMAx Case "Lundi", "Mercredi", "Dimanche", VariableJour 1.3 Tableaux Un tableau permet de stocker une suite dlments de mme type. Laccs un lment prcis se fait laide dun indice (valeur ou variable entire). En VB, pour un vecteur dclar avec une dimension (N), le premier lment a lindice 0, le deuxime a lindice 2, le troisime a lindice 3, , le dernier a lindice
1

N. Syntaxe : Dim NomVecteur(N) As TypeVecteur


me

Cette instruction dclare un vecteur NomVecteur de taille N+1. Pour accder au i lment du vecteur, il faut prciser lindice entre parenthses comme suit : NomVecteur(i-1), i doit tre compris dans lintervalle [0, N]. TypeVecteur est un type standard (Boolean, Integer, String, etc.) ou tout autre type (type dobjet) dfinie dans VB ou dans votre application. Exemple : Dim TabTemp(12) As Single Numro Temprature 1 6 2 5,5 3 7 4 11,5 5 15

L'accs la case numro 3 se fait par TabTemp(3) qui vaut 7. Syntaxe :Dim NomVecteur(1 To N) As TypeVecteur dclare un vecteur de N lments Exemple :Dim TabMajuscules(65 to 90) As String
1

Pour viter toute confusion (et garder vos bonnes habitudes Pascal), dclarez toujours le vecteur avec une taille (N) et ignorez llment lindice 0. Le premier lment ne sera jamais utilis. Numro 65 66 67 89 90 Majuscule A B C Y Z VB permet de travailler avec des tableaux de deux, trois, quatre, dimensions ou plus Exemple d'un tableau deux dimensions: Dim ExempleMatrice(10, 10) As Single ExempleMatrice est une matrice (de nombres rels) de 11 lignes et 11 colonnes et o ExempleMatrice(1,
2

9) est llment se trouvant lintersection de la premire ligne et de la dixime colonne . Exemple de dclaration dun tableau trois dimensions: Dim ExempleMatrice(10, 10, 10) As Single matrice trois dimensions 1.4 Instructions rptitives Les instructions rptitives sont utilises pour boucler sur une suite dinstructions.

12/41

www.developpez.c.la 1.4.1 For To Next Si le nombre de boucles est connu lavance, on utilise l'instruction For To Next. Syntaxe For Compteur = Dbut To Fin [Step Incrment] Instructions [ ... Exit For] pour une interruption pralable de la boucle [Instructions] Next [Compteur] le mot Compteur est facultatif Le test (Compteur = Dbut) est effectu au dbut de la boucle. La variable numrique Compteur est incrmente chaque fin de boucle du nombre indiqu par lincrment. Si lIncrment (le pas par lequel Compteur augmente chaque boucle) nest pas spcifi, il est fix par dfaut 1. Si la valeur de Fin est infrieure la valeur de Dbut, lincrment est ngatif. La valeur de Compteur peut tre utilise (par exemple, pour numroter le passage dans la boucle) mais ne doit pas tre modifie dans le corps de la boucle. Exemple Dim i As Integer Dim Chane As String Dim TabInitial(1 To 12) As Single For i = 1 To 12 Chane = InputBox("Temprature N " & Compteur) TabInitial(i) = Chane Next i le i nest pas obligatoire 1.4.2 Do While Loop / Do Loop While Test antrieur Syntaxe Do While Condition Instructions [... Exit Do] [Instructions] Loop La condition est ici teste au dbut, c'est--dire lentre de la boucle. Avec While (tant que), la boucle est rpte tant que la condition est vraie. Si la condition nest pas vraie au dpart, les instructions de la boucle ne sont pas excutes. Exemple
Do While MotPropos <> MotDePasse MotPropos = InputBox("Donnez votre mot de passe") Loop

Cela prsuppose que MotPropos soit initialis par une valeur autre que MotDePasse (par exemple, la valeur par dfaut "").

13/41

www.developpez.c.la Test postrieur Syntaxe Do Instructions [... Exit Do] [Instructions] Loop While Condition La condition est alors teste la fin de la boucle. Avec While (tant que), la boucle est rpte tant que la condition est vraie. Les instructions de la boucle sont donc excutes au moins une fois. Exemple Do MotPropos = InputBox("Donnez votre mot de passe") Loop While MotPropos <> MotDePasse Cet exemple ne prsuppose aucune initialisation de MotPropos. 1.4.3 Do Until Loop / Do Loop Until Test antrieur Syntaxe Do Until Condition Instructions [... Exit Do] [Instructions] Loop La condition est ici teste au dbut, c'est--dire lentre de la boucle. Avec Until (jusqu'), la boucle est rpte jusqu' ce que la condition soit vraie. Si la condition est vraie au dpart, les instructions de la boucle ne sont pas excutes. Exemple Do Until MotPropos = MotDePasse MotPropos = InputBox("Donnez votre mot de passe") Loop Cela prsuppose que MotPropos soit initialis par une valeur autre que MotDePasse (par exemple, la valeur par dfaut "").

14/41

www.developpez.c.la Test postrieur Syntaxe Do Instructions [... Exit Do] [Instructions] Loop Until Condition La condition est alors teste la fin de la boucle. Les instructions de la boucle sont donc excutes au moins une fois. Avec Until (jusqu'), la boucle est rpte jusqu' ce que la condition soit vraie. Exemple Do MotPropos = InputBox("Donnez votre mot de passe") Loop Until MotPropos = MotDePasse

Cet exemple ne prsuppose aucune initialisation de MotPropos. 1.4.4 For Each Next Cest une extension de la boucle For ... To Next. Syntaxe : For Each Elment In Ensemble Instructions [ ... Exit For][Instructions] Next [Elment] Ensemble est le plus souvent un tableau. Exemple Dim TabHasard(100) As Integer Dim Cellule As IntegerDim Rponse As StringRandomize For Each Cellule In TabHasard Cellule = Rnd * 100 + 1 Next For Each Cellule In TabHasard Rponse = Rponse & Cellule & " " Next MsgBox (Rponse)

initialise le gnrateur de nombres au hasard gnre un nombre au hasard entre 1 et 100

Concatnation de chanes de caractres

1.4.5 Conclusion Selon le problme traiter, vous aurez le choix entre ces diffrentes structures de contrle. Il s'agira de choisir la plus lgante ou du moins, celle qui ne provoquera pas de dysfonctionnement de votre programme. Trouvez les erreurs dans les exemples suivants :
15/41

www.developpez.c.la Exemple 1: Dim VotreRponse As String Rponse = "LaRponse" Do VotreRponse = InputBox("Donnez votre rponse") Loop While VotreMot = Rponse Exemple 2 Dim Note As Single Do Until Note >= 0 And Note <= 20 Note = InputBox("Taper une note entre 0 et 20") Loop 1.5 Procdures et Fonctions Comme dans le cas du langage Pascal, Java .., VB .NET permet lutilisation des procdures et des fonctions avec ou sans paramtres. Rappelez vous que la grande diffrence entre la procdure et la fonction est que cette dernire retourne une valeur lorsquelle est appele. Lors de lappel de la procdure, un paramtre peut tre transmis soit par valeur, soit par rfrence (variable). 1.5.1 Procdure (Transmission par valeur : ByVal) Pour transmettre un paramtre par valeur, celui-ci doit tre obligatoirement prcd par le mot rserv ByVal. Sinon, il est considr de passer par rfrence. Syntaxe : Private Sub NomProcdure ( ByVal argument As Type, ) Instruction1 Instruction2 End Sub Exemple : Private Sub Affectation( ByVal valeur1,valeur2 As integer) Dim Chane As String Chane = "La somme de " & valeur1 & " et " & valeur2 & " = " valeur1 = valeur1 + valeur2 Chane = Chane & valeur1 MsgBox (Chane) End Sub Lappel de la procdure se fait soit en inscrivant call suivi du nom de la procdure, et des paramtres lui transmettre, soit en crivant uniquement le nom de la procdure, suivi des paramtres lui transmettre. Dim X As integer Dim Y As integer Call Affectation (X, Y) avec les parenthses MsgBox (" Et X = " & X & " n'a pas chang ")

16/41

www.developpez.c.la 1.5.2 Procdure (Transmission par rfrence : ByRef) Si ByVal nest pas prcis ou si le paramtre est prcd par le mot rserv ByRef, la variable est transmise par rfrence (c'est--dire transmise en tant que variable). Ainsi, toute modification de la variable locale correspondante dans la procdure se rpercute sur la variable utilise lors de lappel. VB suppose que la transmission se fait par rfrence si le mot rserv ByVal est omis. Exemple Private Sub Transvase ( valeur1 As Integer, valeur2 As Integer ) Dim variable As Integer variable = valeur1 valeur1 = valeur2 valeur2 = variable End Sub Lappel suivant transvase le contenu de X dans Y et inversement. Exemple Dim X As Integer, Y As Integer X = 100 Y = 200 MsgBox (" X = " & X & " et Y = " & Y) Transvase(X, Y) MsgBox (" Alors que maintenant X = " & X & " et Y = " & Y) 1.5.3 Fonction Lors de la dclaration d'une fonction, la valeur qui doit tre retourne par celle-ci doit tre affecte au nom de la fonction. La dclaration de la fonction se termine par les mots rservs End function. Syntaxe Private function NomFonction( Argument As Type, ) As Type Instruction1 Instruction2 NomFonction = RsultatDeLaFonction End function Exemple Private function Somme( valeur1 As Integer, valeur2 As Integer ) As integer Somme = Valeur1 + valeur2 End function Lappel suivant retourne la somme de X et Y et affecte le rsultat la variable Z. Exemple Dim X As Integer, Y As Integer, Z As Integer X = 10 Y = 20 Z = somme(X, Y)
17/41

www.developpez.c.la 1.5.4 Transmission dun tableau comme argument dune procdure ou dune fonction Pour transmettre un tableau comme argument dune fonction ou dune procdure, il suffit de dclarer ( lintrieur des parenthses) une variable (le nom local du tableau) sans type, ni dimension. Lors de lappel de la fonction ou de la procdure, VB donne cette variable le type et la taille du tableau envoy. On peut aussi utiliser comme type de la variable locale, le type Variant. Comme tout variable, un tableau peut tre envoy par valeur ou par rfrence. Ci-aprs vous trouvez un exemple de dclaration dune procdure qui reoit un vecteur (passation par rfrence: par dfaut). Exemple Private Sub Init(vec) ou Private Sub init(vec As Variant) Dim i As Integer For i = 1 To 10 vec(i) = 0 Next End Sub Lappel de la procdure avec un vecteur comme argument se fait comme pour toute variable. Exemple Dim vecteur(10) As Integer Call Init(vecteur) 1.5.5 Porte des variables, procdures et fonctions Une application VB peut tre compose dun ou de plusieurs formulaires et dun ou de plusieurs modules. Dans chaque module ou formulaire, des variables, des procdures et/ou des fonctions peuvent tre dclares. Dans chaque procdure et fonction, des variables locales peuvent tre dclares. Une fonction ou une procdure peut tre dclare soit Prive (Private), soit Publique (Public). Le sens de Priv ou Public se comprend par rapport au formulaire ou au module dans lesquelles elles sont dclares. Se pose alors le problme de la porte des variables, des fonctions et des procdures. Si une variable est dclare au dbut de la procdure (fonction) qui la manipule (Dim ou Private), elle nest alors valide que pour cette procdure (fonction). L'existence et la valeur de la variable disparaissent avec l'instruction End Sub (End Function). Toute rfrence cette variable en dehors de cette procdure (fonction) provoquera une erreur de compilation. Si une variable est dclare dans la section des dclarations dun module (formulaire), elle est valide dans toutes les procdures (fonctions) du module (formulaire). Une variable peut aussi tre dclare Public ou Global et sera alors valide pour toute lapplication. Exemple : Global MotInitial As String premier mot traiter Le tableau qui suit rsume la porte des variables, des procdures et des fonctions en fonction du type de dclaration (Dim, Private ou Public) et de lendroit o la dclaration a eu lieu.

18/41

www.developpez.c.la Porte des variables, procdures et fonctions Type Variable Variable Variable Variable Variable Variable Variable Variable Variable Variable Procdure / fonction Procdure / fonction Procdure / fonction Procdure / fonction Dclar dans Procdure vnementielle Procdure / fonction gnrale du formulaire Procdure / fonction gnrale de module Partie gnrale dun formulaire Partie gnrale dun module Procdure vnementielle Procdure gnrale dun formulaire Procdure gnrale de module Partie gnrale dun formulaire Partie gnrale dun module Partie gnrale dun formulaire Mot cl Dim Dim Dim Porte Procdure vnementielle Procdure / fonction gnrale Procdure / fonction gnrale

Dim/private Formulaire Dim/private Module Private/Public Interdit Private/Public Interdit Private/Public Public Public Private Interdit Formulaire Projet Formulaire

Partie gnrale dun module Partie gnrale dun formulaire Partie gnrale dun module

Private Public Public

Module Formulaire Projet

1.5.6 Quelques fonctions globales Les deux tableaux suivant rsument quelques fonctions mathmatiques et quelques fonctions pour la manipulation des chanes de caractres. Fonctions mathmatiques Fonction Abs(Nb) Atn(Angle) Cos(Angle) Exp(Nb) Fix(Nb) Int(Nb) Log(Nb) Sgn(Nb) Sin(Angle) Sqr(Nb) Tan(Angle) Round(Nb) Utilit Donne la valeur absolue du nombre Donne larc tangente de langle Donne le cosinus de langle Donne lexponentielle du nombre Tronque les dcimales du nombre Donne la partie entire du nombre Int et Fix ne diffrent que pour les valeurs suprieures 0 Donne le logarithme naturel (base e) Donne le signe du nombre : 1, 0 ou 1 Donne le sinus du nombre Donne la racine carre du nombre Donne la tangente de langle Arrondi la valeur suprieure si (Nb - Int(Nb) ) > 5 infrieure si (Nb - Int(Nb) ) <= 5 Exemple Abs (- 89) = 89 Atn(0) = 0 Cos(0) = 1 Exp(1) = 2.71828 Fix(-4.6) = -4 Fix(4.6) = 4 Int(-4.6) = -5 Int(4.6) = 4 Log(1) = 0 Sgn(- 89) -1 Sin(0) = 0 Sqr(4) = 2 Tan(0) = 0 Round(4.5) = 4 Round(4.51) = 5
19/41

www.developpez.c.la Fonctions de chane de caractres Fonction Asc(Car) Chr(N) Len(Chane) Lcase(Chane) UCase(Chane) LTrim(Chane) RTrim(Chane) Trim(Chane) Left(Chane, N) Right(Chane, N) Mid(Chane, Pos, N) InStr(Chane, Car) Utilit Donne le code ASCII dun caractre Donne le caractre correspondant au code ASCII Donne la longueur dune chane Transforme la chane en minuscules Transforme la chane en majuscules Supprime les espaces de tte Supprime les espaces de fin Supprime les espaces de tte et de fin Renvoie les N caractres de gauche Renvoie les N caractres de droite Renvoie N caractres partir de la position Pos Renvoie la position de la premire occurrence du caractre dans la chane ou la valeur 0 si la chane ne contient pas le caractre Convertit N en chane de caractres Gnre N fois le caractre spcifi Gnre des espaces Convertit en nombre les chiffres dune chane (la conversion sarrte au premier caractre qui nest pas un chiffre, ou 0 sil ny a pas de chiffre en tte) Exemple Asc(A) = 65 Chr(65) = A Len (Orange) =6 Lcase(ABC)= abc Ucase(abc)= ABC LTrim( Hello)=Hello LTrim(Hello )=Hello Trim( Hello )=Hello Left(Auto,2)= Au Right(Auto,2)= to Mid(Locom, 3, 2) = co InStr (Locom,o) = 2 InStr (Locom,a) = 0 Str(123) = 123 String(5, A) = AAAAA Space(4) = Val(123) = 123 Val(123abcd) = 123 Val(abcd123) = 0

Str(N) String(N, Car) Space(N) Val(Chane)

1.5.7 Interruption de squences Pour interrompre lexcution dune squence dinstructions (dans une fonction, procdure ou boucle For), on utilise linstruction Exit. Le tableau suivant rsume son utilisation. Les possibilits dinterruption de squences Instruction Exit function Exit Sub Exit For Exit Do Description Interruption de la fonction, sans excution des instructions restantes Limite la procdure Interruption de la procdure, sans excution des instructions restantes Limite la boucle Interruption de la boucle, sans excution des For instructions restantes Limite la boucle Do Interruption de la boucle, sans excution des instructions restantes Port Limite la fonction

20/41

www.developpez.c.la SECTION 2. INTRODUCTION A LENVIRONNEMENT DE DEVELOPPEMENT VB La programmation en Visual Basic (VB) se fait principalement (comme le nom du langage lindique) de manire visuelle. Vous serez cependant souvent amens (mettre la main la pte et) programmer en crivant du code VB. VB est avant tout un environnement de dveloppement dapplications informatiques. VB (entre autres) offre: un environnement graphique de dveloppement permettant de dvelopper visuellement une grande partie de votre application. Voir figure 1 Espace de travail VB

Un formulaire (Form) slectionn

Fentre des proprits (Property de nom Form1 window). Proprits de lobjet slectionn (Form1)

Figure 1: Environnement de dveloppement Visual Basic .NET un langage de programmation orient objet (voir plus loin le concept dobjet) des composants logiciels (ActiveX) ou des librairies (pr-programmes) trs puissants et prts tre intgrs et utiliss dans votre application. On verra par la suite quune grande partie de votre apprentissage de VB consistera apprendre lutilisation de ces composants logiciels (contrles) la possibilit dintgrer aisment de nouveaux composants ActiveX dvelopps dans le commerce une grande facilit pour dvelopper de nouveaux composants ActiveX
21/41

www.developpez.c.la VB est devenu grce ces atouts un langage de programmation trs utilis de par le monde, supplantant un grand nombre de langages de programmation. Pour rentrer dans le vif du sujet, nous allons regarder de quoi sera compose votre application (programme) VB. Celle-ci sera compose, entre autres, de deux parties essentielles: un ou plusieurs formulaires (la partie visuelle ou graphique) et le code VB (des formulaires et modules). 2.1 Environnement VB 2.1.1 Formulaires (Forms) La partie visuelle de votre application ou projet est compose principalement dUN ou de PLUSIEURS formulaires (Forms). Un formulaire nest rien dautre quune fentre (Window). Les figures 1 et 2 prsentent des exemples de formulaires.

(a) Lors de la conception (b) Lors de lexcution Figure 2 : Exemple dun formulaire vierge Pratique. Dmarrer VB, La fentre qui apparat alors lcran vous propose soit douvrir un projet existant, soit de crer un nouveau projet (new project) (figure 3).

Figure 3 : Fentre de choix douverture ou de cration de projet


22/41

www.developpez.c.la Lorsque vous faites un nouveau projet, il vous reste choisir le type de projet que vous allez crer (Visual Basic Projects sur la gauche de lcran), le modle utilis (Application Windows) ainsi que le nom associ ce projet et lemplacement sur le disque o seront stockes ces informations (attention, sur les ordinateurs de lIAG, vous ne pouvez enregistrer que sur le disque L)

Figure 4 : Fentre de cration dun nouveau Projet du menu VB, File, New Project.

VB va crer un projet compos dun formulaire portant un nom gnr automatiquement : Form1, voir
23/41

www.developpez.c.la figure 5. Lenvironnement VB est compos de trois types dlments : . une zone de barre de menus et de barres doutils, . une zone de travail central . une multitude de fentres qui gravitent autour, constituant les diffrents outils mis votre disposition pour travailler 2.1.2 Lexplorateur des solutions Lexplorateur des solutions prsente de manire arborescence et visuelle les objets composant lapplication charge. La figure 6(a) montre que le projet de nom WindowsApplication8 est compos dun seul formulaire de nom Form1.

Figure 6(a): Lexplorateur des solutions

Figure 6(b): Fentre des proprits du projet Les Forms constitueront les objets principaux qui composeront vos projets dans ce cours. Notez quun projet peut tre compos dun ou de plusieurs formulaires. Dans ce dernier cas, il faut prciser VB le formulaire qui sera charg en premier, en cliquant sur le nom du projet avec le bouton droit de la souris et ensuite sur Properties, voir figure 6(b) o le projet est compos de deux formulaires, Form1 et Form2.

2.1.3 La fentre Properties


24/41

www.developpez.c.la La fentre Properties prsente les proprits (ou attributs) de lobjet slectionn. La figure 6 prsente les proprits de lobjet (slectionn) Form1. On peut citer quelques proprits de Form1 et leurs valeurs respectives: . Name = Form1, nom logique utilis pour rfrencer lobjet dans du code VB

BackColor = &H800000, couleur de fond de lobjet Form1.

Text = Form1, nom qui apparat visuellement sur lobjet, celui-ci peut tre diffrent de la proprit Name. Proprits de lobjet Form1 (un formulaire) Proprits tries par ordre alphabtique Nom dune proprit Valeur dune proprit Figure 7: Fentre Properties Notez que la valeur de chaque proprit peut tre modifie en cliquant sur la colonne de droite de la fentre Properties. Pratique. Modifiez la valeur des proprits suivantes : Text = Convertisseur FB en Euro, BackColor = votre guise, Etc. N.B. Ne modifiez que les proprits dont vous comprenez le sens 2.1.4 La bote outils et les contrles standards La partie graphique de votre application va contenir un (ou plusieurs) formulaire(s). Sur un formulaire, on peut placer un ou plusieurs objets graphiques ou ce quon appellera des contrles (Bouton cliquer, Champ libell (texte statique), Champ texte saisir au clavier, Menu, etc.). Ces contrles sont des objets pr-programms dont lutilit principale est de faciliter linteraction avec lutilisateur. Chacun de ces objets graphiques a une fonctionnalit bien prcise. Le tableau suivant rsume les contrles standards de base les plus utiliss:

Contrle

Nom du contrle

Utilit
25/41

Label Text Box Button ListBox ComboBox PictureBox RadioButton Check Box GroupBox

www.developpez.c.la Afficher un texte statique : un libell Afficher et rentrer une valeur au clavier Lancer lexcution une procdure vnementielle Afficher une liste statique de valeur Combiner lutilit des contrles TextBox et ListBox Afficher une image dans un cadre. Celui-ci peut tre redimensionn en fonction de limage (Autosize = True) Slectionner une option. Si utilis en plusieurs instances (Option Button), une seule peut tre choisie Slectionner une option. Si utilis en plusieurs instances (Check Box), une ou plusieurs peuvent tre choisies Crer une fentre au sein dun formulaire et crer un groupe de contrles.

Les contrles standards dans VB se trouvent dans la Bote outils (ToolBox), voir figure 8. Dautres contrles plus labors (Components) peuvent tre ajouts dans la bote outils, en slectionnant dans la barre du menu : Project, Add Components. Comment placer un contrle sur un formulaire ? Slectionnez dans la bote outils le contrle dsir. Dessinez sur le formulaire le rectangle dans lequel vous voulez placer le dit contrle. Pour ce faire, cliquez (sans relcher) sur le bouton gauche de la souris, sur le coin haut gauche du rectangle et dplacez la souris vers le coin bas droit du rectangle puis relchez le bouton de la souris. Le contrle apparat par magie sur le formulaire. Comment dplacer un contrle ou le redimensionner ? Slectionnez dabord (en cliquant dessus) le contrle plac sur le formulaire. Glissez le vers lendroit dsir ou cliquez et tirez sur lun des huit petits carrs bleus dlimitant lobjet slectionn (le contrle Label Euro est slectionn dans la figure 8). Chaque contrle peut tre vu comme un objet dfini par un ensemble de proprits. Quand un contrle, plac sur un formulaire, et slectionn, ses proprits apparaissent dans la fentre Properties. De manire gnrale, une fois quun objet est slectionn, ses proprits apparaissent dans la fentre Properties. Notez que certains objets (contrles, formulaires, etc.) ont les mmes proprits, par exemple Name et Text, mais ont bien videmment des valeurs diffrentes qui leurs sont propres. Pratique. Placez les contrles suivants sur le formulaire qui a t cr: Contrle Label TextBox Proprit Text Name Valeur FB Franc_Belge Euro : Convertir Sortir

Text Label CommandButton Text CommandButton Text

Modifiez leurs positions et leurs proprits pour que le formulaire apparaisse comme suit :

Figure 9 : Exemple de conception dun formulaire Nous venons de crer un programme (graphique et statique) sans crire aucune ligne de code VB. Celui26/41

www.developpez.c.la ci peut dtre excut. Ce programme ne fait quafficher une boite de dialogue ayant la forme de la figure 9. Pour lui donner vie (lui faire faire ce qui est dsir), cest--dire convertir du Franc Belge en Euro, il faudra mettre la main la pte et crire du code VB. Comment excuter votre programme ? Pour excuter un programme, appuyez sur la touche F5 ou slectionnez dans la barre de menu, Run, Start, ou cliquez sur le bouton Start.

Comment arrter lexcution dun programme ? 2.2 Programmation par vnements A la diffrence de la programmation squentielle, o les instructions sexcutent de manire squentielle, VB est un langage qui permet de raliser de la programmation par vnements, cest -dire programmer des procdures qui sexcutent quand un vnement est dclench. La plupart du temps, lvnement est dclench par lutilisateur du programme. Quand on travail dans un environnement multifentrs (Windows) chaque fois, quon clique sur la souris, quon ouvre ou ferme une fentre, quon appuie sur une touche du clavier, on dclenche un vnement auquel le programme utilis ragit. La programmation par vnements consiste programmer ce que le programme doit faire quand un vnement particulier survient. A chaque objet VB (contrle, formulaire, etc.) peut tre associ une ou plusieurs procdures vnementielles crites avec le langage de programmation VB. Procdures vnementielles (Private Sub NomObjet_NomEvnement End Sub) Une procdure vnementielle nest rien dautre quune procdure classique mais qui sexcute quand un
3

EVENEMENT particulier se produit . La dclaration de lvnement NomObjet_NomEvnement() se fait comme suit (voir syntaxe), o NomObjet est le nom de lobjet auquel est rattach lvnement NomEvnement. Comme dans une procdure classique, aucun, un ou plusieurs paramtres et leurs types respectifs peuvent tre dclars entre parenthses. Pour attacher une procdure vnementielle un objet, il suffit de double cliquer sur celui-ci. VB inscrit alors la dclaration de la procdure avec des paramtres par dfaut (ne pas mofifier ces paramtres). Syntaxe Private Sub NomObjet_NomEvnement( Argument As Type, ) Instruction1 Instruction2 End Sub Un ensemble dvnements peut tre rattach chaque type dobjet. Ci-dessous quelques exemples dvnements : Evnement Se produit quand Click On clique sur le bouton gauche de la souris DblClick On double clique sur le bouton gauche de la souris Load Lobjet NomObjet est charg Change La valeur stocke par lobjet Nomobjet change MouseDown On clique sur la souris sans relcher le bouton MouseUp On a relch le bouton de la souris MouseMove On a boug la souris
27/41

www.developpez.c.la KeyDown On a appuy sur une touche du clavier sans la relcher MouseUp On a relch une touche du clavier MousePress On a appuy sur une touche du clavier et on la relch A chaque formulaire sera associ un fichier logique portant le nom Nom_Formulaire, voir figure 10. Celui-ci contiendra le code VB des diffrentes procdures relatives aux vnements associs au formulaire en question ainsi quaux diffrents objets qui lui sont rattachs.

Comment attacher une procdure vnementielle Load un formulaire ? Pour attacher une procdure vnementielle un formulaire, double cliquez sur celui-ci (et non pas sur un des contrles qui le composent). VB ouvre alors une fentre textuelle et place le curseur dans le cadre dune procdure vnementielle particulire : Form_Load(). Form_Load() La procdure de nom Form_Load() sexcute lors du chargement du formulaire correspondant, cest-dire avant que le formulaire napparaisse lcran. Pratique. Placez les deux lignes de codes comme indiqu la figure 10 (entre les deux lignes Private Sub Form_Load() et End Sub). Ainsi, avant que le formulaire napparaisse lutilisateur, Franc_Belge.Text et Euro.Text seront initialiss 40.3399 et "Euro : 1" (voir figure 9). Pratique. a. On dsire que, lorsque lutilisateur clique sur le bouton Convertir (figure 9), une procdure sexcute et convertisse le montant dans la zone Franc_Belge et donne le montant quivalent en Euro (dans la zone label). b. On dsire que, lorsque lutilisateur clique sur le bouton Quitter (figure 9), une procdure sexcute et ferme la fentre. Linstruction End ferme une fentre. Excutez votre programme, introduisez un montant en Franc Belge et appuyez sur Convertir.

Comment Sauver votre travail ?


28/41

www.developpez.c.la Slectionnez dans la barre du menu : File, Save Project as. VB vous demandera de donner un nom votre projet et, chaque formulaire et module, le composant.

Lintrt de donner un nom chaque formulaire et module rside dans le fait quun formulaire ou un module peut tre rutilis dans des projets diffrents.

Comment ajouter un nouveau formulaire dans un projet ? Cliquez avec le bouton droit de la souris sur le mon du Projet se trouvant dans la fentre Projet, slectionnez dans le menu propos : Add, Windows form. Comment ajouter un formulaire existant dans un projet ? Cliquez avec le bouton droit de la souris sur le mon du Projet se trouvant dans la fentre Projet, slectionnez dans le menu propos : Add, Add Existing Items. Slectionnez le nom du fichier correspondant au formulaire recherch, puis appuyez sur Open. Comment retrouvez les diffrentes fentres (ToolBox, Project, Properties) ? En rsum Les objets manipuls sont appels des contrles (bouton de commande, bote de dialogue, zone de texte, zone d'image, etc. ) L'interface utilisateur cre est multifentre. Une fentre est appele un formulaire (Form). Un formulaire est lui-mme un contrle. Chaque contrle peut ragir des vnements qui lancent des procdures (ddies) codes en VB. Des modules gnraux de code peuvent porter sur tout le programme. Ces modules sont rutilisables. 2.3 Exercices a. Ralisez les parties pratiques des sous-sections prcdentes b. Modifiez le programme de conversion pour quil puisse convertir dans les sens FB->Euro et Euro->FB. Votre formulaire doit apparatre comme suit : c. Modifiez votre programme et placez avant linstruction, End, linstruction suivante : MsgBox(Je termine et je sors, confirmez avec OK) d. Aprs cette introduction, vous tes censs tre capable de rpondre aux questions suivantes : 1. Quest ce quun formulaire ? 2. De quoi sera compose votre application VB ? 3. Quest ce quun contrle ? Donnez des exemples. 4. Comment placer un contrle sur un formulaire ? 5. Quest-ce quune procdure vnementielle ? Donnez quelques exemples de procdures vnementielles. 6. Comment associer une procdure vnementielle un contrle ? 7. Quant la procdure vnementielle Click() sexcute-t-elle ? 8. Quant la procdure vnementielle Load() sexcute-t-elle ? 9. Quest ce quun objet ? Donnez des exemples dobjets en VB. 10. Quest ce quune proprit? Donnez des exemples de proprits. 11. Comment changer la proprit dun objet ? 12. Quelle est la diffrence entre la proprit Name et la proprit Text? 13. Comment excuter et fermer votre application ? 14. Quel est lintrt de sauver chaque formulaire sous un nom particulier ? 15. Comment ajouter un nouveau formulaire (vierge) un votre projet ? 16. Comment ajouter un formulaire existant un votre projet ? 17. Comment sauver votre projet et le recharger nouveau ? 18. Que fait linstruction MsgBox(Chane de caractres) ?
29/41

www.developpez.c.la 19. Quelle est la diffrence majeur entre une procdure et une fonction ? 20. Comment effectuer une transmission de paramtre(s) par rfrence ?

3.1 Concept dobjet Le concept dobjet Comme vous lavez et vous allez encore le constater, le terme OBJET est souvent cit dans ce texte, et ceci est loin dtre le fruit du hasard. En effet, VB .NET est un langage orient objet, cest--dire que toute CHOSE que vous aurez manipuler et utiliser nest rien dautre quun OBJET indpendant. Un objet est dfini par un nom et un certain nombre de proprits. Il est aussi dfini par un ensemble de mthodes (procdures ou fonctions). Notez bien que les proprits et les mthodes qui dfinissent lobjet ne peuvent tre invoques quen spcifiant le nom de celui-ci.

Le concept de proprit dun objet Une proprit dun objet est un attribut ou une caractristique de celui-ci. Chaque proprit porte un nom (attribut ou variable) et a une valeurqui lui est associe. La figure 7 montre une partie des proprits de lobjet portant le nom Form1. Comme proprit dun objet, on peut citer: nom, forme graphique, dimension, couleur, structure de donnes associe, etc. Pour accder la proprit dun objet avec du code VB, il faut obligatoirement prciser le nom de lobjet suivi dun point suivi du nom de la proprit en question. On peut ainsi distinguer et utiliser les mme priorits appartenant des objets diffrents. Pour accder et modifier les proprits dun objet, on procde comme dans l'exemple suivant : Exemple Form1.Text = Convertisseur FB en Euro Form1.BackColor = &H800000 Label1. Text = Entrez votre texte Button. Text = Franc Belge Pour les objets existants lors du dveloppement, leurs proprits peuvent aussi tre modifies laide de la fentre de proprits : Properties, voir figure 7. Le concept de mthode dun objet Une mthode dun objet est une fonction ou une procdure rattache lobjet en question. Pour tre appele, comme dans le cas de la proprit, elle doit tre prcde par le nom de lobjet correspondant suivi dun point. Syntaxe NomObjet.NomProcedure( paramtre1, paramtre2, ) Variable = NomObjet.NomFonction (paramtre1, paramtre2, ) La figure 13 montre lditeur des classes (objets) VB. La colonne de droite prsente les mthodes et les proprits de la classe slectionne. La fentre du bas donne une explication succincte de la classe, proprit ou mthode slectionne. Pour ouvrir lditeur des classes VB, il suffit de cliquer sur le bouton Object Browser.

30/41

www.developpez.c.la

3.2 Contrles standards 3.2.1 La proprit Name Dans tous les contrles, la proprit Name permet de rfrencer le contrle correspondant dans du code VB. A lintrieur dun mme formulaire, la proprit Name doit tre unique. Comme indiqu ci-dessus, Name permettra aussi daccder aux diffrentes proprits et dappeler les diffrentes mthodes de lobjet. Lorsquun contrle est plac sur un formulaire, VB lui affecte un nom, gnr automatiquement, compos du nom du contrle, suivi dun chiffre correspondant au nombre de contrles de mme type dj intgrs dans le formulaire. 3.2.2 Label Le contrle Label permet dafficher un texte statique. La proprit (de type String) charge de stocker ce texte (une chane de caractres) est la proprit Text. Celui-ci sera affich lors de laffichage du formulaire dans lequel il est plac. Linstruction qui suit modifie le texte correspondant au contrle Label de nom Label1. Exemple Label1.Text = lquivalent en Euro = 15.689,89

3.2.3 TextBox Le contrle Textbox permet dafficher et de saisir un texte au clavier. La proprit (de type String) charge de stocker ce texte (une chane de caractres) est la proprit Text. Celui-ci sera affich lors de laffichage du formulaire dans lequel il est plac et modifiable par lutilisateur. Linstruction qui suit
31/41

www.developpez.c.la modifie le texte correspondant au contrle TextBox de nom Text1. Exemple Text1.Text = Entez votre texte ici La figure 9 montre des exemples des contrles TextBox et Label.

3.2.4 RadioButton Le contrle RadioButton combine deux fonctionnalits. Il permet de slectionner une option prsente par un texte statique (un contrle Label). Le contrle RadioButton, utilis sur un formulaire en au moins deux instances, permet de faire une seule slection parmi les diffrents choix proposs (parmi les diffrents RadioButton affichs). La proprit du contrle qui stock ltat de celui-ci est la proprit Enabled, de type Boolean. La valeur True veut dire que loption est choisie. Notez bien que VB se charge de mettre jour la proprit Enabled une fois quune slection est faite (mettre True la proprit Enabled du bouton slectionn et False aux autres). Exemple OptionButton1.Enabled = True OptionButton2. Enabled = False Pratique. Dans lexemple de la figure 14, lutilisateur peut soit convertir du FB vers leuro ou inversement. Les contrles ont t dclars comme suit : Contrle Name Caption TextBox Montant Equivalent en Euro Label Label1 =1 Entrez le montant Label Label2 convertir Montant convertir Label Label3 en OptionButton OptionEuro Euro OptionButton OptionFB FB CommandButton Quitter Quitter

32/41

www.developpez.c.la

Public Class Form1 Inherits System.Windows.Forms.FormDim Montanten As Char Private Sub Montant_Change() Dim valeuro, valeFB, value As Double value = Double.Parse(entree.Text) If entree.Text <> " " Then Select Case Montanten Case "E" valeuro = value / 40.3399 sortie.Text = "Equivalent en Euro: " & valeuro Case "F" valeFB = value * 40.3399 sortie.Text = "Equivalent en FB: " & valeFB End Select End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox("Quitter?") End End Sub Private Sub euro_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles euro.CheckedChanged Montanten = "E" Montant_Change() End Sub Private Sub FB_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FB.CheckedChanged Montanten = "F" Montant_Change()
33/41

www.developpez.c.la End Sub End Class Figure 16 : Code VB de lexemple de la figure 14 2 me possibilit Dans lexemple ci-dessus, la conversion se fait de manire dynamique chaque fois que le montant change (Montant_Change). La procdure vnementielle Montant_Change est aussi appele comme simple procdure dans les deux autres procdures vnementielles : OptionEuro_Click et OptionFB_Click Nom_objet_Change() La procdure vnementielle de nom Nom_objet_Change() sexcute quand lobjet portant le nom Nom_objet change.

3.2.5 CheckButton

Ce contrle ressemble de trs prs au contrle RadioButton. Il combine aussi deux fonctionnalits. Il permet de slectionner une option prsente par un texte statique (un contrle Label). La diffrence majeure rside dans le fait que lutilisateur peut faire de multiples slections parmi les diffrents contrles de mme type. La proprit du contrle qui stocke ltat de celui-ci est la proprit Checked qui prend lune des deux valeur suivantes : false = choix non slectionn, true = choix slectionn.

Notez que cest lutilisateur de grer la relation entre les diffrents choix en programmant la procdure vnementielle Click(). Exemple Private Sub Check1_CheckedChanged() er on clique sur le 1 choix er If Check1.checked = true Then si le 1 choix vient dtre slectionn me Check3.enabled = false le 3 devient indisponible Else me Check3.Checked = true sinon le 3 devient disponible End If End Sub 3.2.7 GroupBox Un GroupBox est une fentre. Cest un contrle qui peut tre plac sur un formulaire pour crer un groupe de contrles. Tout contrle plac sur le GroupBox (lui-mme plac sur un formulaire) appartiendra ce groupe. On a vu dans le cas du contrle RadioButton quune seule option peut tre choisie. Cependant, si on veut
34/41

www.developpez.c.la prsenter lutilisateur deux groupes de choix dans lesquels il peut slectionner deux choix non exclusifs, un dans le premier groupe et un dans le second, ceci nest pas possible. Pour rsoudre ce problme, il suffit de placer lun des groupes doptions dans un GroupBox, lautre appartiendra au formulaire. Notez que les GroupBox peuvent tre utiliss pour crer un groupe de contrles de diffrents types, TextBox, RadioButton, Label, etc. La proprit Text permet de donner un titre au GroupBox. Pratique. Dans lexemple de la figure 18, deux GroupBox sont utiliss : Destination et Moyen de transport. Chaque GroupBox intgre un groupe doptions. Ainsi, lutilisateur peut choisir une seule ville et un seul moyen de transport.

Contrle Label

Name Label1

Text

Choissisez les villes que vous allez visiter CheckBox C_Paris Paris CheckBox C_Tokyo Tokyo CheckBox C_SanFrancisco San Francisco CheckBox C_Sydney Sydney CommandButton Confirmer Confirmer CommandButton Quitter Quitter

35/41

www.developpez.c.la 3.2.8 Exercices a. Programmez lapplication qui permet de raliser l'application prsente figure 14. Exemple dutilisation du contrle RadioButton. b. Sachant qu1 US$ cote 38.5168 FB et qu1 FF cote 6.1498 FB, modifiez le code de lexemple pour quon puisse aussi avoir la conversion en US$ et en FF. Votre application doit avoir lallure de la figure 20. c. Programmez lapplication qui permet de raliser la figure 17 (Exemple dutilisation du contrle CheckButton). Le bouton Confirmer doit ouvrir (avec la procdure Show) un autre formulaire contenant quatre contrles Label qui affichent uniquement les choix faits par lutilisateur. d. Programmez lapplication qui permet de raliser la figure 18 (Exemple dutilisation du contrle GroupBox). Utilisez deux vecteurs de contrles pour les diffrents RadioButton. Le bouton Confirmer doit ouvrir (avec la procdure Show) un autre formulaire rsumant les choix faits par lutilisateur. e. Vous tes prsent capable de rpondre aux questions suivantes 1. Expliquez le concept dobjet 2. Expliquez le concept de proprit dun objet 3. Expliquez le concept de mthode dun objet 4. Comment peut-on accder une proprit dun objet ? 5. Comment fait-on appel une mthode dun objet ? 6. Donnez des exemples dobjets en VB. 7. Donnez des exemples de proprits en VB. 8. Donnez des exemples de mthodes en VB. 9. Comment trouver la liste des classes dobjets VB ? 10. Quel est lintrt de la proprit Name? 11. Pourquoi lintrieur dun formulaire la proprit Name dun objet doit tre unique ? 12. Dfinir le rle du contrle Label et donnez des exemples de proprits 13. Dfinir le rle du contrle TextBox et donnez des exemples de proprits 14. Dfinir le rle du contrle RadioButton et donnez des exemples de proprits 15. Dfinir le rle du contrle CheckButton et donnez des exemples de proprits 16. Quelle est la diffrence entre les contrles CheckButton et RadioButton? 17. Dfinir le rle du contrle GroupBox et donnez des exemples de proprits

3.2.9 ListBox Un ListBox est un contrle qui permet de proposer une liste de valeurs parmi lesquelles lutilisateur ne peut en choisir quune seule. La dite liste est stocke dans la proprit Items. La figure 21 montre un exemple dutilisation du contrle ListBot.

36/41

www.developpez.c.la 3.2.10 ComboBox Le contrle ComboBox combine les fonctionnalits des contrles TextBox et ListBox. La proprit Text stocke llment chercher, slectionner ou ajouter et la proprit Items stocke la liste des valeurs possibles, comme dans le cas du contrle ListBox. La figure 22 montre un exemple dutilisation du contrle ComboBox.

3.2.11 La proprit Items La proprit Items se trouve dans plusieurs contrles (ListBox, ComboBox, ). Elle peut tre remplie
4

lors de la conception dans la fentre Properties comme monter dans la figure 23 . Cette liste peut aussi tre mise jour (ajout, suppression) de manire dynamique durant lexcution du programme.

Quelques proprits et mthodes pour grer les ListBox ou ComboBox Syntaxe Nom_List_Box.Items.Add(valeur_i) : ajoute la valeur valeur_i dans la proprit List Nom_List_Box.Items.Remove(valeur_i) : enlve llment valeur_i de List Nom_List_Box.Items.RemoveAt(i) : enlve llment dindice i de List Nom_List_Box.Items.Clear : enlve tous les lments de List Nom_List_Box.Items.Count : donne le nombre dlments dans List Nom_List_Box.items(i) : retourne litem dindice i de la L ist
er er

ListIndex 0 = 1 lment, 1 = 2 lment, Nom_List_Box.SelectedItem : retourne llment slectionn Nom_List_Box.Sorted : = True, maintient la liste trie par ordre alphabtique croissant Exemples ListBox1.Items.Add ("Paris") Ajoute Paris la liste de ListBox
37/41

www.developpez.c.la List1. Items.Add(text1.text) Ajoute Text1.Text la liste de ListBox Text1.Text = List1.SelectedItem affecte llment slectionn Text1.Text List1.Items.Remove(List1.SelectedItem) enlve llment slectionn de list

La procdure vnementielle suivante supprime la ville introduite par lutilisateur. Private Sub Supprimer_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Supprimer.Click Dim Ville As String Dim i As Short Ville = InputBox("Enter la ville supprimer : ") For i = 0 To (villes.Items.Count - 1) If villes.Items(i) = Ville Then villes.Items.RemoveAt(i) Exit For End If Next End Sub Pratique. Lexemple de la figure 24 utilise un ComboList pour stocker une liste de villes. Lutilisateur peut manipuler dynamiquement la dite liste. Le code correspondant ce programme est prsent dans la figure 25. La fonction Existe(Ville) vrifie si Ville se trouve dans la liste des villes. Une ville ne peut tre ajoute que si elle nexiste pas. Une ville ne peut tre supprime quaprs confirmation de lutilisateur, cest-dire, celui-ci a appuy sur OK. La fonction MsgBox, utilise avec loption OkCancel, affiche les boutons Ok et Cancel. Elle retourne 1 si on appuie sur OK et 2 si on appuie sur Cancel.

38/41

www.developpez.c.la

3.2.12 Exercices a. Programmez le programme qui permet de raliser la figure 24: Exemple manipulant la proprit List du contrle ComboList b. Dans le mme esprit que lexercice prcdent, crez un programme qui permet de convertir un montant en devise vers une autre divise. Votre application doit avoir lallure de la figure 26. Utilisez trois contrles ListBox : DeviseB, DeviseC et TauxC. DeviseB et DeviseC serviront, respectivement, slectionner la devise de base et la devise de conversion. TauxC servira stocker les taux de change des diffrentes devises par rapport une devise de rfrence (l'Euro). Notez bien que les trois contrles ne doivent pas tre tris, ainsi la devise dindice i du contrle DevideC correspond au taux i du contrle TauxC.

39/41

www.developpez.c.la

Lexemple ci-dessous montre comment convertir un montant (Montant.Text) dune devise de base (DeviseB) vers une devise de conversion (DeviseC) en utilisant le taux de conversion dune devise de rfrence (ici lEuro). Par exemple, si on dsire convertir un montant en CHF (Devise de base) en BEF (Devise de conversion), il faut dabord trouver le montant quivalent en Euro puis multiplier ce montant par le taux du FB dun Euro. 100 CHF = ((100 / 1.6014) * 40.3399 ) BEF = 2519.04 BEF. Exemple

c. Modifiez votre programme pour que les diffrentes listes soient dynamiques, permettant lutilisateur dajouter ou de supprimer une devise.
3.2.14 Lditeur de menus

Comment crer un menu principal en haut d'un formulaire ou un ContextMenu? Avec MainMenu et ContextMenu en VB 2003. Avec MenuTrip et ContextMenuStrip en VB 2005.
MainMenu en Vb 2003

On peut ajouter un menu dans une fentre. Beaucoup dapplications contiennent un menu. Exemple de menu :
On remarque que le contenu des menus est standardis afin que lutilisateur sy retrouve sans aide (Lutilisateur lit, mon avis, rarement les aides !!) Comment crer un menu ? En allant dans la boite outils, chercher un main menu et en le dposant sur la fentre : il apparat en dessous de la fentre. Pour dessiner le menu, il suffit de mettre le curseur sur le menu en haut de la fentre, ou est
40/41

www.developpez.c.la
crit Taper ici : tapez le texte du menu, (Fichier par exemple).

Il apparat automatiquement un Tapez Ici pour les lignes dessous ou le menu suivant. Les lignes du menu sont nommes automatiquement MenuItem1, MenuItem2.. Quand le curseur est sur une ligne du menu,la fentre de proprit donne les proprits de la ligne : La proprit ShortKey permet de crer un raccourci. La proprit Checked permet de cochez la ligne La proprit Visible permet de faire apparatre ou non une ligne. Si vous double-cliquez sur la ligne du menu vous voyez apparatre : Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click End Sub
Cest la procdure vnement lie la ligne du menu. Quand lutilisateur clique sur une ligne du menu cest le code contenu dans cette procdure qui est effectu. Menu Contextuel Vb 2003

C'est un menu qui s'ouvre quand, le curseur de l'utilisateur est sur un objet, et qu'on clique sur le bouton droit de la souris. En allant dans la boite outils, chercher un Context menu, on le dpose sur la fentre : il apparat en dessous de la fentre. Si on le slectionne avec la souris, il apparat en haut et comme pour le menu principal, on peut ajouter des lignes. Il faut ensuite affecter ce Context Menu un contrle; pour cela donner la proprit ContextMenu du contrle le nom du ContextMenu. TextBox1.ContextMenu= ContextMenu1 Si vous double-cliquez sur une ligne du menu vous voyez apparatre les procdures vnement correspondantes.
MenuStrip de Vb 2005: Remplace le MainMenu en VB 2005.

En allant dans la boite outils, chercher un MenuStrip et en le dposant sur la fentre : il apparat en dessous de la fentre et la barre apparat en haut du formulaire. On peur ajouter des menus, combobox et zone texte. Pour remplir rapidement les menus , c'est comme en vb2003 On peut mettre des images dans les menus. Dans les proprits Items permet d'avoir accs aux menus ou lignes et toutes les proprits des lments (image..). Chaque lment de la barre a sa procdure vnement: Pour le premier bouton par exemple: Private Sub MenuStrip1_ItemClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click End Sub
ContextMenuStrip de Vb 2005:

Remplace le ContextMenu de Vb2003

41/41