Vous êtes sur la page 1sur 33

Support de Cours

DEVELOPPEMENT
ET MISE EN UVRE
D'APPLICATIONS
WINDOWS AVEC
MICROSOFT VISUAL
BASIC .NET 2003









Stphane NGUESSAN
Groupe Pigier Abidjan
Version 1.2









Dveloppement dapplications Windows avec Visual Basic .NET

Page 1
1ab1e des maf1es
CHAPITRE 0 : INTRODUCTION.................................................3
I) Objectif ..................................................................................................... 3
II) Conventions............................................................................................. 3
III) Informations............................................................................................ 3
CHAPITRE 1 : BASES DU LANGAGE VISUAL BASIC.............4
I) cration dune application......................................................................... 4
II) lenvironnement de dveloppement intgr Visual Studio .NET............. 4
III) structure dun projet Visual Basic........................................................... 5
IV) lments fondamentaux de programmation .......................................... 5
CHAPITRE 2 : PRESENTATION DE LARCHITECTURE
.NET...........................................................................................14
I) composants dune plateforme .NET....................................................... 14
II) les langages .NET................................................................................. 14
III) Excution dune application .net........................................................... 15
IV) Programmation objet............................................................................ 15
CHAPITRE 3 : CREATION DE LINTERFACE UTILISATEUR.17
I) Programmation vnementielle.............................................................. 17
II) cration dun formulaire......................................................................... 18
III) Contrles standards ............................................................................. 20
IV) amlioration de linterface utilisateur.................................................... 23
CHAPITRE 4 : VALIDATION ET TRAITEMENT DES SAISIES25
I) Limitation des entres de lutilisateur ..................................................... 25
II) validation au niveau champ................................................................... 27
Dveloppement dapplications Windows avec Visual Basic .NET

Page 2
III) validation au niveau formulaire............................................................ 29
CHAPITRE 5 : GESTION DES ERREURS................................31
I) Types derreurs....................................................................................... 31
II) Dboguage............................................................................................ 32
III) Gestion des exceptions ........................................................................ 35
CHAPITRE 6 : ACCES AUX DONNES AVEC ADO.NET.......37
I) Technologies antrieures daccs aux donnes.................................... 37
II) Prsentation de ADO.NET .................................................................... 37
III) Accs aux donnes .............................................................................. 39
IV) Liaisons de donnes simples.............................................................. 46
V) Contrles de navigation ........................................................................ 47
VI) Liaisons de donnes complexes......................................................... 48
VII) Modification des donnes ................................................................... 49
CHAPITRE 7 : DEVELOPPEMENT DE SOLUTIONS...............51
I) Techniques lies aux applications MDI .................................................. 51
II) Techniques lies aux accs aux donnes ............................................ 51
CHAPITRE 8 : DEPLOIEMENT DAPPLICATIONS..................59
I) Mthode de dploiement ........................................................................ 59
ANNEXES..................................................................................60
Annexe I : Liste des fonctions et procdures cls de VB.NET.................. 60

Dveloppement dapplications Windows avec Visual Basic .NET

Page 3
Chapitre 0 : Introduction
Bienvenue dans ce cours de Dveloppement et de Mise en uvre
dapplication Windows avec Microsoft Visual Basic .NET et Microsoft
Visual Studio .NET 2003.
I) Objectif
Lobjectif de ce cours est de donner tous les lments utiles pour
dvelopper des applications Windows de bonne qualit (fiable,
robuste, conviviale et efficace). Ce support constitue un bon point de
dpart pour vous initier au langage Visual Basic .NET. Il sappuie sur
les logiciels Microsoft Visual Studio .NET 2003 Edition Architect
et Microsoft SQL Server 2000 Edition MSDE .
II) Conventions
Dans ce document, nous utiliserons les conventions suivantes :
- lorsque nous crivons cliquez sur Fichier->Ouvrir cela
signifie Droulez le menu Fichier et slectionnez llment
Ouvrir ;
- dans la syntaxe, les lments entre crochets [ ] sont
facultatifs ;
- dans la syntaxe, les lments entre accolades { } sont des
options o une est obligatoire. Le sparateur doption est le
caractre | .
III) Informations
Ce support de cours est libre de droit de reproduction. Vous pouvez
le redistribuer sous toutes ses formes. Bien que toutes les
prcautions aient t prises lors de sa rdaction, nous dclinons
toutes responsabilits concernant la fiabilit et lexhaustivit du
prsent support. Nous vous saurions gr toutefois, de nous signaler
toutes les imperfections que vous pourriez rencontrer pendant la
lecture, de ce document.
Bonne Lecture !

Stphane NGUESSAN
snb@powernet.ci
MCP Visual Basic .NET, MCDBA SQL Server 2000, MCSE 2000
Dveloppeur Visual Basic depuis 1994
Groupe Pigier - Abidjan
Dveloppement dapplications Windows avec Visual Basic .NET

Page 4
Chapitre 1 : Bases du langage Visual Basic
Visual Basic .NET est la dernire volution dans la famille des
langages de programmation Visual Basic de Microsoft. Introduit en
1991, ce langage a volu et sest dclin en plusieurs ditions
(Visual Basic Application, Visual Basic Script, etc.). Visual Basic
.NET a su conserver les principes de bases tout en y apportant
dexcellentes amliorations.
I) cration dune application
Dune faon gnrale, la cration dune application en Visual Basic
passe par plusieurs tapes :
a) Conception de lapplication (avec MERISE ou UML)
b) Cration de linterface
Dfinition des proprits des objets de l'interface
utilisateur
c) Ecriture du code
d) Tests et dboguage
e) Gnration et Dploiement
Cration d'un fichier excutable
Cration d'un programme d'installation

Exemple :
Cration dune application permettant denvoyer un message
"Bonjour" suivi du nom dune personne pralablement saisie.
Pour commencer une application Windows avec MS Visual Studio
.NET 2003, on clique sur : Nouveau projet-> type de projet Visual
Basic -> et le modle Application Windows , puis on valide.
Pour faire marcher le bouton bonjour cr dans lapplication, il faut
cliquer sur lui et crire le code suivant :
Msgbox("bonjour" & textbox1.text)
II) lenvironnement de dveloppement intgr Visual Studio
.NET
Lenvironnement de dveloppement intgr (EDI) Visual Studio .Net
se lance partir du menu Dmarrer->Programme->Microsoft Visual
Studio .Net 2003. Cet environnement de dveloppement, est
identique pour tous les langages (Visual Basic, Visual C++, Visual
C# (prononcer C Sharped) , etc.) de la suite Visual Studio .NET.
Dveloppement dapplications Windows avec Visual Basic .NET

Page 5
III) structure dun projet Visual Basic
Une application dveloppe en Visual Basic .Net utilise diffrents
types de fichiers :
Une solution (le fichier de plus haut niveau) comprend une
ou plusieurs applications (projets). Il utilise lextension .sln ;
Les applications (appeles aussi projets) font lobjet dune
compilation. Ils utilisent lextension .vbproj ;
Le fichier application comprend une rfrence de tous les
lments contenus dans lapplication (formulaire, classes,
modules). Alors que VB6 utilisait des extensions
diffrentes par types de fichiers (formulaires .frm, classes
.cls, modules .bas) VB.NET utilise lextension .vb pour la
plupart des fichiers.
NB : les fichiers obtenus par des ressources externes au langage de
programmation conservent leurs extensions. Ex : Crystal Report .rpt
IV) lments fondamentaux de programmation
1. les variables
Une variable est un objet de programmation qui permet de contenir
une valeur. Cette valeur est dun type bien dtermin. Visual Basic
propose plusieurs types de donnes :
- Entier : byte (1o), short (2o), integer (4o), long (8o)
- Rel : single (4o), double (8o), decimal (12o)
- Alphanumrique : char(2o unicode), string (taille varie)
- Autres : date (8o), boolean (2o), object
On utilise le mot cl DIM pour dclarer une variable, et le
symbole dgalit (=) pour affecter une valeur une variable.
Syntaxe :
DIM [Variable1] [,...] [AS Type] [=ValeurInitiale]
Exemple :
DIM nom, prnom as String
DIM jour as Date=#01/01/2003 15:56:23#
Nom="KONAN"
Par dfaut, le compilateur de Visual Basic .NET considre que toute
variable qui apparat dans le code doit tre dclar. Ce
comportement peut tre modifi par linstruction suivante :
Option Explicit Off
Dveloppement dapplications Windows avec Visual Basic .NET

Page 6
Les tableaux permettent de faire rfrence un ensemble de
variables avec un nom unique et dutiliser un indice pour les
diffrencier.
Exemple :
DIM Temperature(11) AS Single
' declare un tableau de 12 lments
DIM Nom() as String={"YAO","KONAN"}
DIM Matrice(9,9) as Interger
Temperature(0)=30
Matrice(0,0)=10
En VB.NET, les tableaux commencent toujours avec lindice 0
(loption base 1 de VB6 nest plus prise en charge).
Linstruction REDIM permet de modifier les dimensions dun
tableau. Son option Preserve permet de conserver le contenu du
tableau devant tre redimensionner.
Exemple :
REDIM Preserve Temperature (12)
Lorsque vous dclarez une variable avec le mot cl DIM , sa
porte se limite au mme niveau (bloc, procdure, module) que sa
dclaration. Vous pouvez tendre se comportement en utilisant lun
des mots cls suivants :
- Public : la variable est utilisable dans toute la solution
- Friend : la variable est utilisable dans tout le projet
- Private : la variable est utilisable dans le module
- Static : le contenu de la variable est conserv entre
diffrents appels

Vous pouvez utiliser les fonctions Val(), CStr(), Cint(), CDbl(), etc .,
pour convertir une variable en un type donne, comme en VB6 ou
utiliser la nouvelle fonction CType() dont la syntaxe est la suivante :
CType (expression, type_de_donnee)
Exemple :
DIM i as Integer=100, l as Long
l=CType(i, Long)
La mthode ToString permet de convertir toute expression en
chane de caractre.
Exemple :
DIM i as Integer=100
Msgbox(i.ToString)
Dveloppement dapplications Windows avec Visual Basic .NET

Page 7
Le compilateur de Visual Basic .NET prend en charge prend en
charge certaines conversions de type automatiquement. Ce
comportement peut tre modifi par linstruction suivante :
Option Strict On
Vous pouvez dfinir vos propres types de donnes en utilisant le
mot cl Structure End Structure.
Exemple :
Structure Voiture
Dim Marque As String 'Public est la porte par dfaut
Public Model As String
Private Numero as String
End Structure
La structure possde un modificateur de son niveau daccs nomm
Protected qui restreint laccs sa propre classe et ses classes
drives uniquement.
2. les constantes
Une constante est un objet de programmation qui ne change pas de
valeur durant toute la dure du programme. Il se dclare par le mot
cl Const .
Exemple :
Const taux= 655.957
Const monnaie= "FCFA"
Const Pi as Double = 3.14159265
Une numration est une liste de constantes, lies entre elles.
Exemples :
ENUM Jours
Dimanche=1
Lundi=2
Mardi=3
Mercredi=4
Jeudi=5
Vendredi=6
Samedi=7
END ENUM
3. les oprateurs
Les oprateurs arithmtiques de base sont : + (addition)
(soustraction) * (multiplication) / (division) \ (division entire) Mod
(reste de la division entire) ^ (puissance).
Dans une opration arithmtique, vous pouvez imposer lordre
dvaluation des oprateurs en utilisant les parenthses.
Dveloppement dapplications Windows avec Visual Basic .NET

Page 8
Exemple :



+
=
Scrit
x= (a+b)/c-d
Les oprateurs de concatnation sont : & (force la conversion des
oprandes avant la concatnation) + (ne force pas la conversion des
oprandes).
Visual Basic .NET propose de nouveaux oprateurs simplifis
permettant laffectation des variables :
Addition x = x + 2 x += 2
Soustraction x = x 6 x -= 6
Multiplication x = x * 3 x *= 3
Division x = x / 4 x /= 4
Concatnation x = & "ABC" x &= "ABC"
Les oprateurs logiques sont : And (Et) Or (Ou) Xor (Ou exclusif)
Not (Ngation) AndAlso (identique And mais loprande 2 nest
teste que si loprande 1 nest vraie) OrElse (identique Or mais
loprande 2 nest teste que si loprande 1 est fausse).
Les oprateurs de comparaison sont : = (galit) <> (ingalit) <
(infrieur) > (suprieur) <= (infrieur ou gal) >= (suprieur ou gal)
Like (comparaison de chane de caractre avec la possibilit dutilis
les caractres gnriques ? pour un caractre et * pour nimporte
quelle suite de caractre).
NB : Par soucis de compatibilit ascendante, True correspond la
valeur -1 et False la valeur 0.
4. les structures de dcision
Les structures de dcision aiguillent lexcution du code en fonction
des valeurs que prend une expression.
La structure IFTHEN utilise la syntaxe suivante :
IF condition THEN instruction
Ou
IF condition THEN
Instructions
[ELSE | ELSEIF (condition)] THEN
Instructions
END IF
Exemple : Ecrire un code qui calcule le taux de commission en
fonction des critres suivants:
Dveloppement dapplications Windows avec Visual Basic .NET

Page 9
Montant< 500.000 taux=10%
Montant (500.000 et 5.000.000) taux=5% (pour la
partie>500.000)
Montant > 5.000.000 taux=1% (pour la partie>5.000.000)
If montant< 500.000 then
Commission = (montant*0.1)
ElseIF montant< 5.000.000 then
Commission= 50.000 + (montant-500.000)*0.05
Else
Commission= 275000+ (montant-500.000)*0.01
End IF
Linstruction IIF permet de remplacer un IF THEN. Sa syntaxe est
la suivante :
IIF(Condition,ValeurSiVrai,ValeurSiFaux)
La structure SELECTCASE offre plus de possibilits daiguillage
en fonction de la valeur dune expression.
Exemple :
SELECT CASE moyenne
CASE is <10
Msgbox ("Mauvais")
CASE 10,11,12
Msgbox ("Passable")
CASE 13 to 19
Msgbox ("Bien")
CASE 20
Msgbox ("Trs bien")
CASE ELSE
Msgbox ("Erreur")
END SELECT
Linstruction Switch permet dindiquer un ensemble dexpressions et
de valeurs associes.
Exemple :
Resultat=Switch(Rep=221,"Sngal",Rep=33,"France")
Linstruction Choose permet de choisir une valeur en fonction dun
index.
Exemple :
Monnaie=Choose(code,"FCFA","US$","")
5. les boucles
Les boucles ont pour but dexcuter plusieurs fois, un mme bloc de
code.
Dveloppement dapplications Windows avec Visual Basic .NET

Page 10
Linstruction FORNEXT permet dexcuter un bloc de code, un
nombre dfinit de fois. Sa syntaxe est la suivante :
FOR variable = Debut TO Fin [STEP Increment]
Instructions
NEXT [variable]
Vous pouvez sortir dune boucle FOR avant la fin du nombre
ditrations en utilisant EXIT FOR.
Une autre syntaxe de FORNEXT permet dexcuter du code pour
chaque lment dun tableau.
FOR EACH element IN tableau
Instructions
NEXT [elements]
Linstruction DOLOOP permet dexcuter une instruction un
nombre indfinie de fois. Sa syntaxe est la suivante :
DO { UNTIL | WHILE } Condition
Instruction
LOOP
Ou
DO
Instruction
LOOP { UNTIL | WHILE } Condition
Avec UNTIL, la boucle se rpte lorsque la condition est fausse
alors quavec WHILE, la boucle se rpte lorsque la condition est
vraie. La deuxime syntaxe garantie que les instruction de la boucle
seront excuter au moins une fois. Linstruction EXIT DO provoque
une sortie anticipe et inconditionnelle de la boucle DOLOOP.
5. les procdures et fonctions
Les procdures et fonctions sont des blocs rutilisables de code.
Elles peuvent prendre plusieurs paramtres. Une procdure ne
retourne pas de valeur tandis quune fonction en retourne toujours
une. Le mot cl de dclaration dune procdure est SUBEND SUB
et pour une fonction FUNCTIONEND FUNCTION.
Syntaxe :
[Private|Friend|Public|Protected] SUB NomProcedure ([
[Optional] [Byval|ByRef] param1 as Type1 [=Defaut][,]])
'Instructions
END SUB

[Private|Friend|Public|Protected] FUNCTION NomFonc ([
[Optional] [Byval|ByRef] param1 as Type1 [=Defaut][,]])
AS Type
Dveloppement dapplications Windows avec Visual Basic .NET

Page 11
'Instructions
{NomFonction=valeur | Return valeur}
END FUNCTION
Exemple:
FUNCTON SurfaceCercle (r as single) as single
CONST Pi=3.14
Return (Pi*r^2)
END FUNCTION
Lorsque vous dclarez une procdure, vous pouvez prciser quelle
sera sa porte grce lun des mots cls suivants :
- Private : Par dfaut. La procdure nest visible que par les
instructions du mme niveau ;
- Friend : la procdure utilisable dans tout le projet ;
- Public : la procdure est utilisable dans les autres projets ;
- Protected : la procdure est utilisable par les instructions de
mme niveau et par les instructions des classes drives.
Les paramtres des procdures et fonctions sont grs par les mots
cls suivants :
- Optional : indique que ce paramtre peut tre omis au
moment de lappel de la procdure. Tous les paramtres qui
suivent ce paramtre doivent aussi tre dclars comme
optionnels.
- = : prcise la valeur dun paramtre optionnel en cas
domission au moment de lappel;
- ByVal : La valeur du paramtre est passe la procdure ;
Il sagit du mode de passage par dfaut.
- ByRef : la rfrence du paramtre est passe la
procdure. Toutes les modifications du paramtre
demeurent, mme aprs la fin de la procdure.
Vous pouvez organiser vos procdures, fonctions et variable sous
forme dunit logique appele module. Lutilisation des modules
permet de structurer votre code, simplifie sa lecture et sa
rutilisation. La syntaxe de cration dun module est la suivante :
[Public | Friend] Module NomDuModule
'Instructions
END Module
Vous pouvez crer un module en cliquant sur Projet -> Ajouter un
Module.
Les procdures vnementielles se distinguent des procdures
classiques par le fait quels sont appeles automatiquement
Dveloppement dapplications Windows avec Visual Basic .NET

Page 12
lorsquun vnement survient. Elles utilisent le mot cl Handles.
Visual Basic .NET gnre la demande, lentte des procdures
vnements que nous conseillons fortement dutiliser. Pendant
lexcution, le mot cl AddHandler permet dajouter un gestionnaire
un vnement et le mot cl RemoveHandler permet de le
supprimer.
Exemple :
Sub No_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles BtnNo.Click, BtnCancel.Click
'Instructions
End Sub

Le langage VB comprend un nombre important de procdures et de
fonctions prtes lemploi. Une liste de ces principales procdures
et fonctions se trouve en Annexe I. Parmi celles-ci, nous avons
InputBox et MessageBox.Show (qui devrait remplacer la procdure
MsgBox).
InputBox : Affiche une boite de dialogue avec une zone de saisie pour
recueillir une entre de lutilisateur
Syntaxe
InputBox(prompt[, title][, default][, xpos][, ypos])
Prompt : Message afficher
Title : Titre de la boite de dialogue
Default : Rponse par dfaut attendue
Xpos, Ypos : position du bord haut gauche de la
boite de dialogue
Exemple
Matricule = InputBox("Entrez votre numro Matricule")
MessageBox.Show : Affiche une boite de dialogue qui affiche un message
et attend que lutilisateur clique sur un bouton. VB.NET a introduit ce
nouvel objet en remplacement de la procdure MsgBox.

Syntaxe
MessageBox.show(prompt][, title][, buttons][, icon])
Dveloppement dapplications Windows avec Visual Basic .NET

Page 13
Prompt : Message afficher
Title : Titre de la boite de dialogue
Buttons : Dfinit les boutons afficher. Parmi
les options disponibles, nous avons OKOnly, OKCancel,
AbortRetryIgnore, YesNoCancel, YesNo,RetryCancel.
Icon : Dfinit l'icne afficher. Parmi les
options disponibles, nous avons Critical, Question,
Exclamation, Information.
Exemple
MessageBox.Show("Etes vous sur de vouloir quitter ?")
6. Commentaires
Les commentaires sont des parties de texte insres dans le code
pour en expliquer le but. Les commentaires ne sont pas excuts.
Le caractre ' et linstruction REM permettent de crer des
commentaires.
Une rgion de code est un dcoupage logique de vos instructions.
Linstruction #REGION#END REGION permet de crer vos
propres rgions.
Visual Basic .NET gnre automatiquement du code quil inclut dans
la rgion Code gnr par le concepteur Windows Form , pour le
masquer et permettre au dveloppeur de se concentrer sur leurs
propres codes.
Dveloppement dapplications Windows avec Visual Basic .NET

Page 14
Chapitre 2 : prsentation de l'architecture .NET
La plateforme .NET est un environnement intgr et manag de
dveloppement et dexcution de code.
I) composants dune plateforme .NET
La plateforme .NET comprend les composants suivants :
.NET framework gre tous les aspects de lexcution du
programme. Ceci comprend lallocation, la rallocation et le
nettoyage de la mmoire, lautorisation ou le refus daccs
aux ressources, la gestion des erreurs etc.
CLR (common language runtime) : cest ce composant qui
gre lexcution du code (compilation, allocation de mmoire,
gestion des processus). Avec le CTS (common type
system) il assure un contrle strict des types de donnes et
un environnement dexcution protg ainsi quune gestion
de la scurit.
La bibliothque de classe (class library) : elle fournie une
collection de mthodes et de proprits conues pour tre
utilises avec le CLR. Ces mthodes et proprits sont
accessibles par la rotation orient objet et son extensible.
II) les langages .NET
Larchitecture .NET est conue pour assurer une compatibilit entre
les diffrents langages de programmation. Ce niveau de
compatibilit nest possible que par le respect des spcifications du
Common Language Specification (CLS). Le dveloppement
dapplication pour la plateforme .NET ne ncessite donc pas
dapprendre un nouveau langage de programmation. Tout langage
qui respecte le CLS (ex : Delphi) peut tre utilis.

Lunit logique dexcution dune application .net est lassembly
(assemblage en franais). Il sagit dune collection de plusieurs
objets .exe .dll en autres fichiers de ressources. Le manifeste dun
assemblage fournit des informations telles que :
- liste des autorisations requises par lapplication ;
- liste des proprits et mthodes exposes ;
- des informations didentit telles que le nom et la
version.
Dveloppement dapplications Windows avec Visual Basic .NET

Page 15
Les assemblages sont crs automatiquement lors de la compilation
depuis lEDI ou par la commande VBC.EXE
III) Excution dune application .net
Lorsque vous compilez une application .net vous obtenez du code
Microsoft Intermediate Language (MSIL) et un assemblage. Quand
lexcution du programme commence le CLR charge en mmoire le
code MSIL et examine le manifeste de lassemblage. Si toutes les
conditions de scurit et dexcution sont remplies le CLR excute
le code. Lorsque lexcution dmarre pour chaque partie de code
MSIL en code binaire (code machine). Ce code est alors excut et
enregistr de sorte que le JIT nest plus recompiler cette partie.
IV) Programmation objet
Comme la cration dune maison sappuie sur un plan, il faut un
moule pour crer un objet. En Visual Basic, ce moule se nomme
une classe. La classe va servir crer un objet que lon nomme
aussi une instance de la classe.
1) Concepts de programmation orient objet
La programmation objet sappuie sur les concepts suivants :
- lencapsulation : permet de regrouper les donnes
(proprits) et les procdures permettant de les manipuler
(mthodes) en une seule unit logique ;
- l'abstraction : elle protge la modification des proprits d'un
objet en dehors des mthodes de lobjet. Ceci sert prvenir
des modifications "accidentelles" des donnes d'un objet par
des fonctions externes la classe ;
- l'hritage: mcanisme par lequel une classe drive (ou
classe fille) hrite de toutes les caractristiques de sa classe
de base (ou classe mre) ;
- la surcharge: technique qui permet d'utiliser le mme nom de
fonction avec des paramtres de types diffrents ;
- le polymorphisme : cest un mcanisme via lequel un objet
peut prendre plus d'une forme ;
- constructeur et destructeur : un constructeur est une
procdure spciale qui est automatiquement excute quand
un objet est cr. Cette procdure se nomme New(). Par
opposition, un destructeur est une procdure qui est
Dveloppement dapplications Windows avec Visual Basic .NET

Page 16
automatiquement excute la mort de l'objet. Cette
procdure se nomme Finalize().
La dclaration dune classe se fait en utilisant le mot cl Class
End Class.
Exemple :
Public Class Personne
Dim Nom As String
Dim Prenoms As String
Dim Date_Naissance As Date
Function Age() as short
Return DateDiff(Year,Date_Naissance,Now())
End Function
End Class
La classe sutilise de la faon suivante :
Dim unePersonne As Personne
unePersonne = New Personne()
unePersonne.Nom="KONAN"
Ou simplement
Dim unePersonne As New Personne
unePersonne.Date_Naissance=#11/05/05#















Dveloppement dapplications Windows avec Visual Basic .NET

Page 17
Chapitre 3 : cration de l'interface utilisateur
Linterface utilisateur fournit un mcanisme qui permet aux
utilisateurs dinteragir avec votre application. Il est donc essentiel, de
crer des interfaces simples et conviviales.
I) Programmation vnementielle
1. Concepts de base
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 mais il peut ltre aussi par le systme.
2. prsentation des proprits, mthode et vnements
Les classes dcrivent les proprits, mthodes et vnements qui
constituent les objets. Les proprits sont les caractristiques dun
objet telle que la taille (Size) ou la position (Location). Les mthodes
sont les actions quun objet peut accomplir telle que afficher (Show)
ou Fermer (Close). Les vnements sont des lments auxquels
lobjet sait ragir tel que clique sur le bouton gauche de la souris
(Click).
3. Proprits communes des objets de programmation
La plupart des objets de programmation (Formulaires, Contrles,
etc.) possdent les proprits suivantes :
- Name: indique le nom utilis dans le code pour rfrencer
lobjet. A lintrieur dun mme formulaire, la valeur de la
proprit Name doit tre unique. Elle permettra daccder
aux diffrentes proprits et dappeler les diffrentes
mthodes de lobjet. A lintrieur du formulaire, vous pouvez
accder aux proprits et mthodes du formulaire en utilisant
le mot cl Me .
Exemple : Me.Width
Lorsquun contrle est plac sur un formulaire, VB lui affecte
un nom, gnr automatiquement, compos du nom du
contrle, suivi dun chiffre. Microsoft recommande de donner
un nom plus parlant chaque objet en respectant la
convention suivante :
Dveloppement dapplications Windows avec Visual Basic .NET

Page 18
- utiliser uniquement des lettres, des chiffres et des
souligns ;
- commencer le nom par une lettre ou un soulign ;
- ne pas utiliser des mots cls du langage VB ;
- utiliser tant que possible la casse (ex : BonNom) ;
- utiliser des substantifs pour les objets et verbes pour
les mthodes.
- Size : indique la taille dun objet en pixel. Elle se compose de
la largeur (width) et de la hauteur (height).
- Location : indique la position du bord haut gauche du
contrle par rapport son conteneur. Elle se compose de
position par rapport au bord gauche (X) et de la position par
rapport bord haut (Y).
- MaximunSize : indique la taille maximale dun objet ;
- MinimumSize : indique la taille minimale dun objet ;
- Visible : dtermine si le contrle est affich ou masqu.
II) cration dun formulaire
Pour crer une application Microsoft Windows, il faut commencer
par crer un formulaire.
1. cration
Chaque formulaire est une classe qui hrite de la classe
System.Windows.Forms.Form. Depuis lEDI vous avez plusieurs
mthodes pour ajouter un formulaire votre application. Exemple :
Projet -> Ajouter un formulaire Windows.

Un formulaire est une fentre de votre application qui est capable de
contenir des contrles. Ses proprits caractristiques sont les
suivantes :
- Text (string): dtermine le texte affich dans la barre de titre ;
- ControlBox (boolean) : dtermine si le formulaire affiche les
bouton systme dans le coin droit ;
- MinimizeBox (boolean) : dtermine si le bouton rduire
apparat dans le coin;
- MaximizeBox (boolean) : dtermine si le bouton agrandir
apparat dans le coin;
Dveloppement dapplications Windows avec Visual Basic .NET

Page 19
- FormBorderStyle : contrle lapparence de la bordure du
formulaire ;
- Opacity : dfinit lopacit (ou la transparence) du formulaire.
La valeur 0% correspond transparent et 100% opaque ;
- TransparencyKey :
- Icon : dfinit licne utilise par le formulaire ;
- TopMost : permet de conserver le formulaire au premier
plan, mme si il na pas le focus.
Il possde les mthodes suivantes :
- Show : affiche le formulaire;
- Hide : cache le formulaire (il nest plus visible mais reste en
mmoire) ;
- Close : ferme le formulaire (et dcharge de la mmoire) ;
- CenterToScreen, CenterParent : Place le formulaire au
centre de lcran.
Un formulaire ragit aux vnements suivants :
- Load : se produit lors de la premire apparition du
formulaire ;
- Activated : se produit lorsque le formulaire reoit le focus;
- Deactivate : se produit quand le formulaire perd le focus ;
- Closing : se produit au moment de la fermeture, avant la
fermeture ;
- Closed : se produit au moment de la fermeture, aprs la
fermeture.
2. Gestion dun formulaire
En VB.NET, un formulaire peut en appeler un autre. Le code
permettant de raliser cette opration est diffrent de celui utilis en
VB6 du fait que VB.NET considre les formulaires comme des
classes alors que VB6 les considraient comme des objets.
Un formulaire peut en afficher un autre selon deux modes :
- Mode non modal : lutilisateur peut passer librement dun
formulaire lautre ; la mthode Show affiche un formulaire
dans ce mode ;
- Mode modal : lutilisateur ne peut pas interagir avec dautres
formulaire de lapplication tant que le formulaire en mode
modal nest pas ferm. La mthode ShowDialog affiche un
formulaire dans ce mode.
Exemple :
Dim Frm As New Form1
Dveloppement dapplications Windows avec Visual Basic .NET

Page 20
Frm.Show()
Lorsque que souhaitez que votre application lance au dmarrage un
formulaire autre que le premier ou lorsque vous modifiez le nom de
votre premier formulaire, vous devez prcisez le nom de lobjet de
dmarrage de votre application. Cette prcision se fait dans le
menu Projet -> Proprit de Puis choisir dans la liste droulante
Objet de dmarrage .
3. Les Applications MDI
Dans les applications Multiple Document Interface (MDI), une feuille
principale (appele feuille Mre) agit comme conteneur pour les
autres feuilles (appeles feuilles filles) de lapplication. La feuille MDI
est la feuille mre qui appelle les feuilles filles.
La proprit IsMdiContainer permet de transformer nimporte quel
formulaire en Feuille Mre quand on lui affecte la valeur true.
Une feuille fille doit tre lance en prcisant sa feuille mre grce
la proprit MdiParent.
Exemple :
Dim Frm As New Form2
Frm.MdiParent=Me
Frm.Show()
La proprit ActiveMdiChild permet de dterminer la feuille fille
active tout moment.
Exemple :
Me.ActiveMdiChild.Close() 'Ferme la feuille active
III) Contrles standards
Les 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. Les contrles
standards sont fournis par
Microsoft et ne ncessitent pas
de licence supplmentaire avant
dtre utiliss. Vous pouvez crer
vos propres contrles (on parle
Dveloppement dapplications Windows avec Visual Basic .NET

Page 21
alors de contrle personnalis) ou acqurir des contrles conus par
des diteurs de logiciels tiers.
Dans la Boite outils, le Pointer dsigne simplement le mode
dans lequel vous pouvez slectionner les autres contrles.
1. Le contrle Label
Il permet dafficher un texte. Ses proprits caractristiques sont les
suivantes :
- Autosize (boolean) : active le dimensionnement du contrle
en fonction du contenu;
- BackColor : la couleur darrire-plan;
- ForeColor : la couleur du texte;
- Font : la police utilise pour afficher le texte;
- Text (string): contient le texte affich.
2. Le contrle TextBox
Il permet dafficher et de saisir un texte. Ses proprits
caractristiques sont les suivantes :
- BorderStyle : determine le type de bordure du contrle ;
- Enabled (boolean) : contrle si le texte accepte les saisies ;
- MultiLine (boolean) : contrle si le texte saisi peut stendre
sur plusieurs lignes;
- Text (string): contient le texte saisi et affich ;
- TextAlign : Indique la faon dont le texte doit tre affich. Les
valeurs possibles sont Left, Right et Center ;
- ScrollBars : contrle laffichage des barres de dfilement.
Les valeurs possibles sont None, Horizontal, Vertical et
Both ;
- WordWrap (boolean): contrle le renvoie automatique la
ligne.
Il ragit aux vnements suivants :
- KeyPress : on a appuy une touche du clavier ;
- TextChanged : La valeur stocke par le contrle change
3. Le contrle Button
Il est principalement utilis pour lancer lexcution dune procdure
aprs laction dun utilisateur. Ses proprits caractristiques sont
les suivantes :
- BackGroundImage : dfinit limage darrire plan ;
- Image : dfinit limage affiche sur le contrle ;
- ImageAlign : dfinit lune des 9 positions possibles pour
limage sur le contrle ;
Dveloppement dapplications Windows avec Visual Basic .NET

Page 22
- FlatStyle : dtermine lapparence lorsque lutilisateur survole
le contrle;
- Text : contient le texte affich; Le caractre & permet de
dfinir une touche daccs. Pour afficher le caractre &
saisissez && .
- TextImageRelation : spcifie lemplacement relatif de limage
par rapport au texte sur le bouton.
Ce contrle ragit aux vnements suivants :
- Click : clique sur le bouton gauche de la souris ;
- DoubleClick : double clique sur le bouton gauche de la
souris ;
- MouseMove : la souris a t dplace.
3. Les contrles RadioButton et CheckButton
Ils permettent de faire des boutons doptions (RadioButton) et des
Case cocher (CheckButton). La diffrence majeure en ses deux
contrles est quavec un RadioButton vous ne pouvez choisir quune
seule option alors quavec un CheckButton, vous pouvez en choisir
plusieurs. Les proprits caractristiques sont les suivantes :
- Checked (boolean): indique si loption est active;
- CheckAlign : dtermine lemplacement du bouton (ou de la
case cocher) dans le contrle ;
- Text : contient le texte affich par le contrle.
4. Les contrles GroupBox et Panel
Ce sont des contrles particuliers car ils peuvent contenir dautres
contrles (appels aussi conteneur de contrle). Ces contrles
permettent de grouper logiquement et physiquement des contrles.
Les contrles contenus dans ces conteneurs se dplacent avec leur
conteneur. La modification de certaines proprits (Enabled,
BackColor, ForeColor, Font) du conteneur sapplique aux contrles
contenus.
La diffrence entre ces deux contrles est que le contrle GroupBox
offre une tiquette paramtrable grce sa proprit Text tandis
que le contrle Panel possde une proprit AutoScroll qui permet
dactiver des barres de dfilement.
5. Le contrle PictureBox
Il permet dafficher des images de plusieurs format (jpeg, bmp, etc.).
Ses proprits caractristiques sont les suivantes :
- Image : dfinit le chemin daccs au fichier image
Dveloppement dapplications Windows avec Visual Basic .NET

Page 23
- SizeMode : dtermine la faon dont le contrle gre le
placement de limage et ses dimensions.
6. Les contrles ListBox, CheckedListBox et ComboBox
Le contrle ListBox permet dafficher une liste de plusieurs lments
parmi lesquels lutilisateur peut faire un choix. Le contrle
CheckedListBox rajoute une case cocher devant chaque lment
de la ListBox. Il permet ainsi de slectionner plusieurs lments.
Le contrle ComboBox affiche une zone de texte modifiable avec
une liste droulante des valeurs autorises. Ces contrles
possdent une proprit Items qui permet de dfinir la liste des
valeurs affiches.
Sorted :
CheckOnClick
NumericUpDown
DomainUpDown
DateTimePicker (Format,ShowUpDown,MaxDate,MinDate)
MonthCalender(ShowToday,ShowTodayCircle,CalenderDimension)
IV) amlioration de linterface utilisateur
Une interface utilisateur peut facilement tre enrichie grce
plusieurs contrles.
1) Le contrle ImageList
Il permet de grer une collection dimages qui pourront tre utiliss
dans dautres contrles. Il possde les proprits suivantes :
- Images : stocke les images ;
- ImageSize : dfinit la taille en pixel de chacune des images.
Chacune des images possde un index dont les valeurs
commencent partir de zro.
2) Les proprits dancrage
Ils permettent de modifier le comportement dun contrle dans le
formulaire :
- Anchor : permet de forcer le maintien dune distance
constante entre un contrle et un ou plusieurs bords dun
formulaire. La valeur par dfaut est Top,Left ;
- Dock :




Dveloppement dapplications Windows avec Visual Basic .NET

Page 24




Graphiques
La ralisation dobjets graphique sur les formulaires, passe par
lcriture dun code, dans lvnement Paint du formulaire et
utilisant la classe System.Drawings. Le contrle Graphics utilis
dans Visual Basic 6 nest plus disponible.
Exemple :
Private Sub Form1_Paint(...)
Dim gra As System.Drawing.Graphics
gra = Me.CreateGraphics
gra.FillRectangle(Brushes.Black, 0, 0, 100, 100)
End Sub


Dveloppement dapplications Windows avec Visual Basic .NET

Page 25
Chapitre 4 : validation et traitement des saisies
La validation et le traitement des saisies garantissent que les
donnes saisies par lutilisateur sont conformes celles attendues
par votre application. Ex : plaque dimmatriculation : 3333AA03
I) Limitation des entres de lutilisateur
Dans la plupart des applications que vous crer, les utilisateurs
doivent entrer des informations qui seront traites. Il est important
que votre application sassure bien que les informations saisies sont
valides afin dviter des erreurs dans les traitements.
1. Directives pour la validation des saisies
Afin dobtenir une application fiable, vous devrez vous efforcer
suivre le plus possible les directives suivantes :
- Empcher les utilisateurs d'entrer des donnes non valides
lorsque cela est possible
- Guider les utilisateurs tout au long du processus de saisie
des donnes valides
- Penser aux implications lies la validation lors de la
conception de l'application
2. Validation intrinsque
Certains contrles possdent des mthodes et proprits qui
permettent de restreindre automatiquement les donnes saisies par
les utilisateurs. Parmi ces contrles, nous pouvons citer :
RadioButton : Restreint les entres On/Off ou Oui/Non;
CheckBox : Restreint les entres Checked ou Unchecked;
CheckedListBox : Fournit une liste d'entres valides;
ListBox : Fournit une liste d'entres valides (graphiques et
texte);
DateTimePicker : Restreint les entres des dates ou des
heures;
MonthCalendar : Restreint les entres une plage de dates
3. Proprits du contrle TextBox
Le contrle TextBox propose des proprits utiles dans la validation
(intrinsque) des donnes saisies :
MaxLength : dfinit un nombre maximal de caractres
entrer dans une zone de texte ;
Enable : indique si le contrle est activ ;
Dveloppement dapplications Windows avec Visual Basic .NET

Page 26
ReadOnly: fournit une information qui ne peut pas tre
modifie ;
CharacterCasing : Dfinit tous les caractres d'une zone de
texte en majuscules (Upper) ou en minuscules (Lower);
PasswordChar : Cache ou masque les caractres entrs
dans une zone de texte.
4. Ordre de tabulation
Lordre de tabulation dfinit la squence dans laquelle le focus
passe dun contrle un autre, lorsque lon appuie sur la touche
tabulation. Voudrez veuillez a ce que cet ordre facilite la saisie des
donnes car boutons dutilisateurs privilgie lutilisation de la tache
tabulation pendant la saisie de volumes importants de donnes.
Lordre de tabulation peut tre dfinit manuellement par la proprit
TabIndex en indiquant un valeur numrique correspondant au
numro dordre du contrle ou graphiquement en cliquant sur le
menu Affichage -> Ordre de tabulation et en slectionnant
successivement les contrles dans lordre.

5. Proprit du contrle MaskEdit
Le contrle MaskEdit permet dobtenir des restrictions plus
pousses sur les entres des utilisateurs.
Ces proprits utiles sont :
Mask : dfinit un masque de saisie pour le contrle. Elle
utilise les caractres gnriques suivants :
o # : caractre numrique requis
o 9 : caractre numrique optionnel
Dveloppement dapplications Windows avec Visual Basic .NET

Page 27
o ? : caractre alphabtique (a-z, A-Z) requis
o & : caractre alphabtique (a-z, A-Z) optionnel
o > : convertit lentre en majuscule
o < : convertit lentre en miniscule
o A : caractre alphanumrique requis
o a : caractre alphanumrique optionnel
Ex : (###)999-9999 pour (123)223-0001
Format: dfinit le format de prsentation des donnes
FormattedText : retourne la donne saisie avec le masque
ClipText : retourne la donne sans le masque de saisie
Le contrle MaskEdit nest pas disponible par dfaut dans la bote
outils. Il faut donc lajouter en faisant :
a. Assurer vous que longlet Formulaire Windows est active
dans la boite outils.
b. Dans le menu Outils, cliquez sur Personnaliser la Bote
Outils.
c. Dans longlet Composant COM, cocher Microsoft Masked
Edit Control, version 6.0, et cliquer sur OK.
Le control MaskEdit sera ajouter la boite outils comme dans
lillustration suivante:
II) validation au niveau champ
La validation au niveau champ lieu pendant la saisie ou juste au
moment ou le contrle perd le focus.
1. Evnement de validation
Tous les contrles fournissent des vnements permettant de grer
la validation de leur contenu. Ces vnements sont :
Validating : Se produit lorsque le control est en cours de
validation. Cet vnement gre une variable e de type
CancelEventArgs dont la proprit cancel lorsquelle est
initialise True permet dannuler la perte du focus.
Validated : Se produit lorsque le control a fini sa validation.
La proprit CauseValidation commande le dclenchement des
vnements validating et validated.
Pendant la saisie, chaque touche du clavier appuye et relache
gnre successivement les vnements KeyDown et KeyUp. Tous
le caractres imprimables gnrent aussi un vnement KeyPress.
KeyDown et KeyUp permettent de grer toutes les touches claviers
Dveloppement dapplications Windows avec Visual Basic .NET

Page 28
tandis que KeyPress ne gre que les touches correspondantes
des caractres imprimables.
Exemple :
Private Sub TextBox1_KeyDown(...)
If e.Shift and e.KeyCode=Keys.F8 Then
TextBox1.Text=UCase(TextBox1.Text)
End If
End Sub

Private Sub TextBox2_KeyPress(...)
If Not IsNumeric(e.KeyChar) Then
e.Handled=True
La proprit Handled permet dindiquer que la touche a
t gre et ne doit plus tre pris en compte.
End If
End Sub
2. Les fonctions de validation
Plusieurs fonctions permettent de vrifier le type dune donne
saisie. On peut citer IsDate, IsNumeric, IsNothing, IsError, etc.
Ces fonctions retournent une valeur vrai lorsque la donne et du
type vrifier.
3. Utilisation du composant ErrorProvider
Le composant ErrorProvider vous permet davertir discrtement
lutilisateur dun problme pendant la saisie des donnes.

Ce composant gre les mthodes et proprits suivantes :
SetError : dtermine le texte du message afficher et la
position de licne. Pour effacer un message derreur, il suffit
dutiliser la chane de caractre vide.
Icon : dfinit licne derreur afficher
4. Gestion du Focus
Dveloppement dapplications Windows avec Visual Basic .NET

Page 29
Lorsquun contrle possde le Focus, lutilisateur peut entrer des
donnes dans le contrle. La mthode .Focus permet un contrle
de prendre le focus.
Exemple :
TextBox1.Focus()
TextBox1.SelectAll()
SelectAll permet de slectionner le texte du contrle
La prise du focus gnre les vnements suivants :
- Enter : le contrle va recevoir le focus
- GotFocus : le contrle a reu le focus
La perte du focus gnre les vnements suivants :
- Leave : le contrle va perdre le focus
- LostFocus : le contrle a perdu le focus
Pour un formulaire, les vnements Activated et Deactivate
correspondent aux vnements Enter et Leave des contrles.
Remarque : Certains contrles tels que Label, LinkLabel, PictureBox
ne peuvent pas recevoir le Focus. Il en est de mme pour les
contrles invisibles comme le Timer ou ImageList.
III) validation au niveau formulaire
Cest un processus qui valide tous les champs du formulaire en une
seule opration.
1. Proprit du formulaire
Les proprits suivantes facilitent la validation au niveau formulaire :
- KeyPreview : force la gnration des vnements claviers
au niveau du formulaire avant les vnements du contrle
- AcceptButton : dsigne le bouton dacceptation qui sera
automatiquement le bouton par dfaut. Cest ce bouton qui
sera excut lorsque lon appuie sur la touche Entre.
- CancelButton : dsigne le bouton dannulation. Cest ce
bouton qui sera excut lorsque lon appuie sur la touche
Echap.
2. Code de validation
Un code de validation consisterait par exemple activer le bouton
Ok que lorsque tous les champs requis sont renseigns.
Exemple :
Function EnableOk() as Boolean
If TextBox1.Text<>"" And TextBox2.Text<>"" Then
EnableOk=True
Dveloppement dapplications Windows avec Visual Basic .NET

Page 30
Else
EnableOk=False
End If
End Function

Private Sub TextBox1_TextChanged(...)
OKButton.Enabled=EnableOk()
End Sub

Private Sub TextBox2_TextChanged(...)
OKButton.Enabled=EnableOk()
End Sub
Vous pouvez aussi utiliser la collection Controls dun formulaire
pour manipuler les contrles.
Ex : Le code suivant est saisi dans un module pour effacer toutes
les saisies effectues dans les contrles dun formulaire et peut tre
appel par un bouton.
Public Sub Effacer(f as System.windows.forms.form)
Dim ctl as Control
For each ctl in f.Controls
If TypeOf(ctl) is TextBox Then
Ctl.Text=""
ElseIf TypeOf(ctl) is RadioButton Then
Ctl.Checked=False
End If
Next ctl
End Sub
Dveloppement dapplications Windows avec Visual Basic .NET

Page 31
CHAPITRE 5 : GESTION DES ERREURS
Les erreurs de programmation sont invitables et mme les
programmeurs les plus expriments en introduisent dans leur code.
La gestion des erreurs consiste intercepter et traiter ces erreurs.
I) Types derreurs
Il existe trois types derreurs :
Erreur de syntaxe
Elle se produit quand le compilateur ne comprend pas le code
que vous avez saisi. Une telle erreur apparat lorsque un mot cl
comporte une erreur ou quand un signe de ponctuation est
oubli.
Ex :
Msgbox(Ou est lerreur ?)
Les doubles quottes encadrant le texte
afficher sont manquantes.
Visual Basic .NET simplifie lidentification des erreurs de
syntaxe. Pendant la saisie, ces erreurs sont dtects et
soulignes dans le code. Elles sont aussi rajoutes dans la
fentre Liste des tches .

Erreur dexcution
Elles se produisent lorsque lapplication tente dexcuter une
opration qui ne peut aboutir. Cette opration peut tre
impossible excuter comme dans le cas dune division par
zro, ou non autorise, comme dans le cas des exceptions de
scurit. Lorsquune telle erreur se produit, une exception la
dcrivant en gnre par le systme. Nous apprendrons par la
suite grer ces erreurs.
Erreur de logique
Dveloppement dapplications Windows avec Visual Basic .NET

Page 32
Lorsque lapplication est compil et semble sexcuter
correctement, mais quelle ne produit pas les rsultats
escompts, elle comporte des erreurs de logique. Ces erreurs
sont les plus difficiles identifier car Visual Basic ne fournit
aucun mcanisme adapt. La manire courante de dtecter ce
type derreur est de tester lapplication avec plusieurs scnarios.
Exemple :
If Age>20 Then
MsgBox("Majeur")
Else
MsgBox("Majeur")
End If
'Dans la clause Else , le message
'afficher devrait tre Mineur .
II) Dboguage
Les outils de dbogage aident diagnostiquer les erreurs de
programmation en examinant le cours de lexcution du programme.
1. Modes de fonctionnement
Il existe trois modes de fonctionnement lenvironnement de
dveloppement intgr de Visual Studio .NET :
Mode Conception : permet modifier les interfaces et crire
le code ;
Mode Excution : le programme sexcute et interagit avec
les utilisateurs mais vous ne pouvez pas changer le code ;
Mode Arrt : dans ce mode, lexcution du programme est
interrompue (mais pas arrt).Cest dans ce mode, que nous
pourrons utiliser toutes les fonctions de dboguage.
2. Prsentation du mode arrt
Vous ne pouvez entrer en mode arrt que si vous choisissez la
configuration dexcution Debug . Visual Basic permet dentrer
dans ce mode suivant diffrentes conditions : si il rencontre un Point
darrt ou une instruction Stop dans votre code, si vous appuyez
Ctrl+Alt+Pause durant lexcution de votre programme, si une ligne
de code gnre une erreur et que vous choisissez Debug dans
la boite de dialogue qui saffiche, etc.
Dans ce mode, vous pouvez : Parcourir votre code ligne aprs ligne,
dterminer les procdures actives qui ont t appeles, contrler les
valeurs des variables ou des expressions, utiliser les fentres de
Dveloppement dapplications Windows avec Visual Basic .NET

Page 33
dboguage pour modifier les valeurs des variables et des proprits,
modifier le programme, excuter des instructions.
3. Utilisation des points darrt
Un point d'arrt est un marqueur intgr votre code qui permet
Visual Basic d'interrompre l'excution du code sur une ligne
spcifique, au lieu de continuer lexcution de votre code.
Points d'arrt
Points d'arrt
Indicateur
dxecution
Indicateur
dxecution

Vous pouvez dfinir un point darrt sur nimporte quel ligne de code
excutable de votre application. Un point darrt se dfinit ou se
retire, soit en cliquant dans la marge gauche, soit en utilisant la
touche fonction F9 , soit enfin en choisissant insrer un point
darrt dans le menu contextuel sur une ligne de code. On peut
aussi effacer tous les points darrt en cliquant sur le menu
Dboguer->Effacer tous les points darrts.
Par dfaut, linterruption du programme un point darrt est
systmatique mais il peut aussi se baser sur une condition ou sur le
nombre de fois que le point darrt est atteint.
4. Barre doutils Dboguer
La barre doutils Dboguer propose les outils suivants :
- Dmarrer ou F5: lance ou continue lexcution du
programme
- Interrompre tout ou Ctrl+Alt+Pause : passe en mode arrt.
- Arrter le dboguage ou Shift+F5: termine lapplication et
passe en mode conception
- Redmarrer : relance lapplication
- Pas pas dtaill ou F11 : excute la prochaine ligne de
code. Si la prochaine ligne appelle une procdure, alors le
Dveloppement dapplications Windows avec Visual Basic .NET

Page 34
dboguage se poursuivra pour chaque ligne de code de la
procdure.
- Pas pas principal ou F10 : excute la prochaine ligne de
code. Si la prochaine ligne appelle une procdure, alors le
dboguage excute entirement la procdure et passe la
ligne suivante.
- Pas pas sortant ou Shift+F11 : excute intgralement (et
non en pas pas), les lignes de code restantes de la
procdure en cours et sarrte la ligne suivante de la
procdure appelante.
Dmarrer
Dmarrer
Interrompre
tout
Interrompre
tout
Arrter le
dbogage
Arrter le
dbogage
Redmarrer
Redmarrer
Afficher
l'instruction
suivante
Afficher
l'instruction
suivante
Pas pas
dtaill
Pas pas
dtaill
Pas pas
sortant
Pas pas
sortant
Pas pas
principal
Pas pas
principal
Points d'arrt
Points d'arrt
Affichage
hexadcimal
Affichage
hexadcimal

Dautres commandes sont aussi possibles :
- Excuter jusqu'au curseur : le dbogueur excute votre
application jusqu' ce qu'il atteigne le point d'insertion que
vous avez dfini.
5. Fentres de dboguage
Les fentre de dboguages vont vous permettre de visualiser et de
modifier le contenu des variables durant lexcution de votre
programme.
La mthode la plus simple pour connatre le contenu dune variable
est de placer la souris sur le nom de la variable, pendant le mode
arrt. Une info-bulle (DataTips) saffiche alors avec la valeur de l a
variable.
La Fentre Automatique permet dafficher les variables utilises
dans linstruction courante et dans linstruction prcdente. La
Fentre Variables Locales permet dafficher toutes les variables
accessibles (les variables locales de la procdure et les variables
globales). La Fentre Espion et la Fentre Espion Express
Dveloppement dapplications Windows avec Visual Basic .NET

Page 35
permettent laffichage des variables de votre choix. La Fentre Pile
des appels permet d'afficher l'historique des appels la ligne de
code en cours de dbogage. La Fentre Commande permet
dexcuter des commandes dans son mode commande et dvaluer
des expressions dans son mode immdiat
Exemple :
? MaVariable
III) Gestion des exceptions
Lorsquune erreur dexcution se produit avec une application, celle-
ci dclenche une exception. Une exception est une instance dune
classe spcialise drive de la classe de base System.Exception.
Elle est conue pour simplifier le diagnostic et la gestion des erreurs.
Dans les versions antrieures du langage Visual Basic, linstruction
de rupture de squence Goto tait trs utilise mais aussi trs
critique si bien que son usage tendait tre abandonn. Dans
Visual Basic 6, il est recommander de ne plus utiliser cette
instruction sauf dans la gestion des erreurs avec linstruction On
Error Goto . Dans Visual Basic .NET, on peut compltement se
passer de Goto .
1. Cration dun gestionnaire dexceptions
La syntaxe de base du gestionnaire dexception est la suivante :
Try
' Insrer ici le code normal du programme
' susceptible de gnrer une erreur
Catch [e as System.Exception]
' Insrer ici le code traitant des exceptions
[Finally]
' Insrer ici du code qui sera excut en toutes
' circonstances.
End Try
2. Utilisation dun gestionnaire dexceptions
Prenons lexemple dun programme capable dafficher les images de
votre ordinateur. Vous crer un nouveau projet Visual Basic .NET et
sur le formulaire vous utiliser les contrles PictureBox pour afficher
limage, Button pour faire un bouton de chargement de limage et
OpenFileDialog pour faire une bote de dialogue pour slectionner le
fichier image. Les proprits significatives sont les suivantes :
Button1.Text = "Charger Image"
Dveloppement dapplications Windows avec Visual Basic .NET

Page 36
Dans lvnement click du bouton (button1_click) tapez le code
suivant :
Dim f as String
Dim o as New OpenFileDialog
Try
o.Filter="Toutes les images|*.bmp;*.jpg"
o.ShowDialog()
f=o.FileName
If f<>"" then
PictureBox1.Image =_
System.Drawing.Bitmap.FromFile(f)
End If
Catch
MsgBox("Format non support !")
End Try
3. Cration dune exception
Vous pouvez gnrez vos propres erreurs avec le nouveau
gestionnaires dexceptions grce linstruction throw .
Exemple :
If (day < 1) Or (day > 365) Then
Throw New ArgumentOutOfRangeException( )
End If
4. Gestion des exceptions avec lobjet Err
Visual Basic .NET continue de supporter la gestion des erreurs dans
le style de Visual Basic 6. Lobjet Err permet de grer lerreur qui est
survenu dans le programme comme dans lexemple suivant :
Dim Msg As String
On Error Resume Next Initialise la gestion derreur
Tapez ici le code ou
Err.Raise(6) Gnrer votre propre erreur

If Err.Number <> 0 Then
Msg = "Erreur # " & Str(Err.Number) & _
" was generated by " & _
Err.Source & ControlChars.CrLf & Err.Description
MsgBox(Msg, MsgBoxStyle.Information, "Erreur")
End If
Dveloppement dapplications Windows avec Visual Basic .NET

Page 37
CHAPITRE 6 : ACCES AUX DONNES AVEC ADO.NET
Beaucoup dapplications ont besoin daccder des donnes
stockes dans des bases de donnes.
I) Technologies antrieures daccs aux donnes
Les utilisateurs de Visual Basic 6 et de ces versions antrieures ont
eu utiliser plusieurs technologies daccs aux donnes.
1. ODBC (Open DataBase Connectivity)
Lune des premires technologies daccs aux donnes,
indpendante du SGBDR. Elle fournit aux dveloppeurs une
interface lui permettant daccder nimporte quel SGBDR, pourvu
quil existe son pilote (Driver) ODBC. La limitation majeure de ODBC
sest quelle prend en charge trs peu dinstructions SQL et donc ne
permet pas dexploiter convenablement des grands SGBDR tels que
SQL Server, Oracle, etc.
2. DAO (Data Access Object) et RDO (Remote Data Object)
La technologie DAO a t initie par MS afin de fournir un accs
plus performant certaines bases de donnes dont MS Access. La
limitation majeure de cette technologie est quelle nest pas efficace
pour des bases de donnes en rseaux. Aussi, en complment, MS
a introduit RDO pour fournir un accs performant pour des BD en
rseaux. Mais la encore, la technologie RDO se relve inefficace
pour les BD locales.
3. ADO (ActiveX Data Object)
Introduite dans Visual Basic 6, cette technologie runit tous les
avantages de ces prdcesseurs : elle permet laccs un grand
nombre de SGBR au travers de fournisseurs (providers) OLEDB et
reste efficace pour les BD locales comme pour les BD en rseau.
II) Prsentation de ADO.NET
1. Gnralits
La technologie ADO.NET reprend les atouts dADO et y ajoute des
amliorations significatives.
ADO.NET est la technologie standard daccs aux donnes pour
tous les outils de dveloppement de la suite Visual Studio .NET. Les
contrles Data et Data ADO ne sont plus disponibles dans Visual
Basic .NET.
Dveloppement dapplications Windows avec Visual Basic .NET

Page 38
ADO.NET utilise le format XML (eXtended Markup Language) pour
le stockage interne des donnes. Ceci lui permet daccder plus
de SGBDR et dtre compltement intgr dans les applications
Web.
ADO.NET fournit un accs dconnect aux donnes stockes
dans les BD. Ce mode de fonctionnement permet une utilisation
optimale des ressources serveurs.
2. Les composants dADO.NET
Laccs aux donnes dans ADO.NET sappuie sur plusieurs
composants comme dans le schma ci-aprs.



Ces composants sont les suivants :
Lobjet Connection
Il reprsente la connexion relle avec une base de donnes. Il
sappuie sur le fournisseur spcifique de la BD avec laquelle il
doit se connecter.
Ex : Microsoft Jet 4.0 OLEDB Provider pour Access 2000
Visual Basic .NET fournit deux classes de connections :
sqlConnection spcifiquement pour SQL Server et
oledbConnection pour tout type de SGBR (Oracle, DB2, etc.).
Le Groupe de donnes (DataSet)
Il est la reprsentation dconnecte, en mmoire, des donnes.
Il peut tre considr comme une copie locale des parties
significatives de la base de donnes. Pendant que le groupe de
donnes est en mmoire, vous pouvez manipuler et mettre
jour les donnes indpendamment de la base de donnes. Le
groupe de donnes peut ensuite tre utilis pour mettre jour la
base de donnes centralise.
Dveloppement dapplications Windows avec Visual Basic .NET

Page 39
Lobjet DataSet est constitu de zro ou plusieurs DataTable
eux-mmes constitus des DataColumns et de DataRows.
Lobjet DataAdapter
Elle joue le rle dintermdiaire, pour simplifier la communication
entre la BD et le groupe de donnes. Le DataAdapter alimente le
DataSet avec les donnes en provenance de la BD quand la
mthode Fill est appele. Une fois que les donnes ont t
modifies en mmoire, le DataAdapter transmet les
modifications la BD lorsque vous appelez la mthode Update.
Le DataAdapter fournit quatre proprits reprsentant les
commandes de BD : SelectCommand, InserCommand,
DeleteCommand et UpdateCommande.
III) Accs aux donnes
1. Connexion la BD
La mthode la plus simple pour implmenter une connexion vers
une BD est dutilis le conteneur Connexions de donnes dans
la fentre Explorateur de serveurs



La bote de dialogue Proprits des liaisons de donnes .permet
de dfinir les options spcifiques dune BD. Pour vous connecter
une BD SQL Server, vous devez raliser les oprations suivantes :
1) Dans longlet fournisseur, choisir le fournisseur
Microsoft OLEDB Provider for SQL Server
2) Dans longlet connexion
Dveloppement dapplications Windows avec Visual Basic .NET

Page 40
a. Indiquez le nom du serveur. Laissez vide ou
indiquez (local) pour le serveur de votre poste
b. Choisissez utiliser la scurit intgre de
Windows NT valable dans la plupart des cas
c. Prcisez le nom de la BD laquelle vous voulez
tre connect
3) Cliquez sur Tester la connexion est si la connexion
russie, cliquez sur Ok pour enregistrer.



Dveloppement dapplications Windows avec Visual Basic .NET

Page 41


2. Cration dun DataAdapter
Maintenant que vous tes connect la BD, vous pouvez prcisez
les informations (tels que les tables, les vues, etc.) auxquelles vous
voulez avoir accs. Ralisez les tapes suivantes :
1) Dans longlet Donnes de la Bote de contrles ,
slectionnez le composant OledbDataAdapter ou
SqlDataAdapter selon la connexion et laissez vous
guider par lassistant.
Dveloppement dapplications Windows avec Visual Basic .NET

Page 42

2) Dans la fentre qui suit, choisissez la connexion que vous
avez cre ou crez en une nouvelle

Dveloppement dapplications Windows avec Visual Basic .NET

Page 43
3) La premire option de la fentre suivante vous laisse
opportunit de saisir une ou plusieurs instructions SQL
Select que vous utiliserez dans votre programme

4) Vous pouvez maintenant saisir une ou plusieurs instructions
Select spares par des points-virgules ( ;). Vous pouvez
aussi vous servir du gnrateur de requtes.
Dveloppement dapplications Windows avec Visual Basic .NET

Page 44



5) Cliquez sur termin pour enregistrer le DataAdapter
Dveloppement dapplications Windows avec Visual Basic .NET

Page 45


VS.NET ajoute un composant OleDbDataAdapter1 ou
SqlDataAdapter1 la barre des composants, en dessous du
formulaire.
3. Cration dun DataSet
La prochaine tape consiste crer lobjet qui reprsente
localement les donnes de la BD. Ralisez les tapes suivantes :
1) Assurer que le formulaire contenant le DataAdapter est
slectionn
2) Cliquez sur le menu Donnes puis sur Gnrer le
groupe de donnes ou fait apparatre le menu contextuel
du DataAdapter et choisissez Gnrer le groupe de
donnes dans le menu.
3) Dans la boite de dialogue qui apparat, indiquez le nom du
nouveau DataSet ou choisissez un DataSet existant.
Slectionnez aussi la table que vous voulez manipuler et
validez
Dveloppement dapplications Windows avec Visual Basic .NET

Page 46


Un composant DataSet11 est ajout la barre des composants, en
dessous du formulaire.
IV) Liaisons de donnes simples
Une liaison de donnes simple reprsente la liaison dune valeur
unique (gnralement une colonne). Plusieurs contrles sont
susceptibles davoir des liaisons simples.
1. Affich les donnes
Vous pouvez utiliser plusieurs contrles (textbox, label, picturebox,
etc.) pour afficher les donnes dune base de donnes. Dans la
plupart des cas, on utiliser un contrle Textbox que vous lierez
une colonne par sa proprit text de la collection
(Databinding) .
Dveloppement dapplications Windows avec Visual Basic .NET

Page 47


2. Chargement des donnes
Avec ADO.NET, les donnes doivent tre rcuprs depuis la BD
avant de pouvoir tre affich. La mthode Fill du DataAdapter
permet de le faire. Cette mthode peut tre appele dans
lvnement Load du formulaire ou associ lvnement
click dun bouton chargement des donnes.
Exemple :
DataSet11.Clear
OledbDataAdapter1.Fill(DataSet11,"NomTable")
V) Contrles de navigation
Maintenant que les contrles sont lis la BD, ils peuvent afficher
les donnes. Dans les affichage en formulaire, il faut prvoir les
boutons de navigations (premier, dernier, prcdent, suivant).
Chaque objet Form comprend un BindingContext. Le
BindingContext est responsable de la gestion des collections de
donnes auxquelles sont lis les contrles. Il gre la mise jour et
la dpendance. Il gre un ensemble de proprits utiles pour la
navigation dans les donnes. Nous avons :
Dveloppement dapplications Windows avec Visual Basic .NET

Page 48
- position : dtermine la position courante de
lenregistrement. La position 0 correspond au premier
enregistrement et (n-1) correspond au dernier
- count : dtermine le nombre denregistrement dans le
dataset.
Vous devez prciser le Dataset utiliser et si il y a lieu, la table.
1. Bouton premier et dernier
Les boutons prcdent et suivant correspondent respectivement
aller la position 0 et la position n-1.
- Code li lvnement click du bouton premier:
Me.BindingContext(DataSet11,"NomTable").position=0
- Code li lvnement click du bouton dernier:
Me.BindingContext(DataSet11,"NomTable").position= _
Me.BindingContext(DataSet11,"NomTable").count -1
2. Bouton prcdent et suivant
Les boutons prcdent et suivant correspondent respectivement
diminuer la position de 1 et augmenter la position de 1:
- Code li lvnement click du bouton suivant:
Me.BindingContext(DataSet11,"NomTable").position+=1
- Code li lvnement click du bouton prcdent:
Me.BindingContext(DataSet11,"NomTable").position-=1
VI) Liaisons de donnes complexes
Une liaison de donnes complexe reprsente la liaison dun contrle
un ensemble de donnes. Plusieurs contrles sont susceptibles
davoir des liaisons complexes et nous dtaillerons le cas des
contrles combobox et datagrid.
1. Liaison de donnes dans un ComboBox
Les cas dutilisation dun combobox rpondent frquemment au
souci dafficher de faon lisible, les informations dune relation et
deffectuer des recherches de faon conviviale.
Les proprits suivantes sont significatives :
- datasource : reprsente le dataset qui contient les
donnes afficher
- displaymember : spcifie la proprit de la source de
donnes dont vous voulez afficher le contenu
Dveloppement dapplications Windows avec Visual Basic .NET

Page 49
- valuemember : colonne choisie dans le datasource
pour retourner une valeur caractristique de llment
choisi
Par ailleurs, la collection (DataBindings) comprend les proprits
suivantes :
- SelectedValue : dfinit la valeur de la proprit de
membre spcifie par la proprit ValueMember
- SelectedItem : dfinit llment actuellement
slectionn dans le ComboBox
- Text : dfinit le texte affich par le contrle

Dans le cas dune relation Pere (PID, PNom)-Fils(FID, FPrenom,
PID), si vous souhaitez afficher et selectionner le nom du pere dans
le formulaire fils vous devez indiquer les valeurs suivantes aux
proprits du ComboBox :
- datasource : DatasetPere
- displaymember : Pere.PNom
- valuemember : Pere.PID
- selectedvalue : Fils.PID
- selecteditem : Pere.PNom
- text : (Aucun)
2. Liaison de donnes dans un DataGrid
Le DataGrid affiche toutes les informations dune table, sous la
forme dune srie de lignes. Chaque ligne peut tre dite
directement. Les modifications sont automatiquement rpercutes
lorsque lutilisateur se dplace de ligne en ligne.
Pour utiliser un DataGrid, il suffit dattribuer la proprit
DataSource le DataSet afficher et la proprit DataMember la
table afficher.Avec VS.Net, le contrle DataGrid sest enrichi dune
nouvelle proprit AlternatingBackColor permettant dafficher les
listes avec des alternances de couleur darrire plan, comme dans
les listings.
VII) Modification des donnes
Lobjet BindingContext du formulaire comprend un certain nombre
de mthode permettant la modification des donnes lies. Parmi ces
mthodes, nous avons :
- AddNew() : ajoute un nouvel lment
- CancelCurrentEdit() : annule la modification en cours
Dveloppement dapplications Windows avec Visual Basic .NET

Page 50
- EndCurrentEdit() : termine les modifications en cours
- RemoveAt(index as integer) : supprime la ligne
lindex spcifi
- SuspendBinding() : suspend la liaison de donnes
- ResumeBinding() : reprend la liaison de donnes
1. Ajout de donnes
Code li lvnement click du bouton Ajouter:
Me.BindingContext(DataSet1).EndCurrentEdit()
Me.BindingContext(DataSet1).AddNew()
Termine les oprations en cours et
ajoute un nouvel lment
2. Modification de donnes
Aucun code nest ncessaire pour la modification. Elles se font
automatiquement lorsque lon passe dun enregistrement lautre.
3. Suppression de donnes
La mthode RemoveAt permet de supprimer une donne.
Exemple :
'Code li lvnement click du bouton Supprimer
If (Me.BindingContext(DataSet1).Count > 0) Then
Me.BindingContext(DataSet1).RemoveAt( _
Me.BindingContext(DataSet1).Position)
End If
'Vrifie que le DataSet contient encore des donnes et
'supprime llment en cours.
4. Mise jour de la base de donnes
Lorsque le DataSet fonctionne en mode dconnect. Les
modifications seffectuent localement. Pour faire appliquer ces
changements la base de donnes, vous pouvez utiliser la mthode
Update du DataAdapter.
Exemple
'Code li lvnement Closing du formulaire
OledbDataAdapter1.Update(DataSet1)

Dveloppement dapplications Windows avec Visual Basic .NET

Page 51
CHAPITRE 7 : DEVELOPPEMENT DE SOLUTIONS
Dans ce chapitre, nous passons en revue plusieurs techniques de
programmation que vous pouvez utiliser lors de vos dveloppement
de solutions dentreprise
I) Techniques lies aux applications MDI
1) Lancer une seule fois la feuille fille
Exemple :
Dim WithEvents IuLivre as frmLivre
Private Sub IuLivre_Open()
If (IuLivre Is Nothing) Then
Iulivre = New frmLivre
End If
IuLivre.Show()
End Sub
Private Sub IuLivre_Close(sender As Object, e As
System.EventArgs) Handles IuLivre.Closed
IuLivre = Nothing
End Sub
2) Confirmer la sortie dun formulaire
Exemple :
Private Sub Form1_Closing(sender As Object, e As
System.ComponentModel.CancelEventArgs) Handles
form1.Closing
'Demander lutilisateur
If MessageBox.Show("Voulez vous quitter" ,
MessageBoxButtons.YesNo) = DialogResult.Yes Then
'Annuler la fermeture du formulaire
e.Cancel = True
End If
End Sub
3) Dterminer la liste des applications en cours dexcution
Exemple :
Dim pList() As Process
Dim myProcess As System.Diagnostics.Process
pList = myProcess.GetProcesses
For Each myProcess In pList
MsgBox(myProcess.ProcessName)
Next
II) Techniques lies aux accs aux donnes
Dveloppement dapplications Windows avec Visual Basic .NET

Page 52
1) Filtrage et tri des donnes
Ex :
2) Formulaire principaux/secondaires
Dans des applications de base de donnes, il est souvent utile
d'afficher un enregistrement avec un groupe d'enregistrements
dtails de la facture associs. On peut aussi afficher un Client avec
les commandes en cours le concernant. Pour cela, on cre un
formulaire dit entte/dtails ou principal/secondaire.

Cet exemple affiche un Datagrid pour les clients et un DataGrid pour
les commandes de chaque client. Le premier objet DataGrid affiche
la liste des clients. Le deuxime objet DataGrid affiche la liste des
commandes. Lorsque le client slectionn est modifi, le deuxime
objet DataGrid met jour l'affichage des commandes pour ce client.
De faon lier les deux objets DataGrid, vous devez dfinir le
DataSource de chaque DataGrid avec le mme DataSet. Vous
devez galement dfinir les proprits DataMember pour indiquer
au BindingContext Windows Forms qu'ils sont apparents. Pour
cela, vous dfinissez le DataMember pour le deuxime DataGrid
avec le nom de la relation entre les tables Customers et Orders -
Customers.CustomersOrders
Ex :

3) Etats Simples
Le composant Crystal Reports pour Visual Studio .NET ajoute des
fonctionnalits de cration d'tats votre. Vous pouvez crer un tat
de toutes pices ou utiliser un des Experts de Crystal Reports pour
vous aider tout au long du processus de conception
Pour ajouter un tat votre projet, faites Projet -> Ajouter un
composant et choisissez Etat Crystal Report
Dveloppement dapplications Windows avec Visual Basic .NET

Page 53


Choisissez ensuite lun des experts correspondant vos besoins


Dveloppement dapplications Windows avec Visual Basic .NET

Page 54
Suivons lexemple de lexemple standard. La premire tape
consiste dterminer. Si votre tat sappuie sur plusieurs tables, un
onglet liaison apparat.



Dans longlet liaison, vous pouvez dfinir les liaisons entre les tables


Dans longlet Champs, vous choisissez les champs ou des formules
bases sur des champs, qui devront apparatre sur ltat.
Dveloppement dapplications Windows avec Visual Basic .NET

Page 55



Longlet groupe permet de dfinir des sections dans ltat



Longlet Total permet de faire des calculs de synthse pour chaque
section

Dveloppement dapplications Windows avec Visual Basic .NET

Page 56


Les onglets N Sup , Diagramme et Selectionner sont
facultatifs. Le dernier onglet Style permet de choisir une
apparence.


Cliquez sur terminer pour voir afficher le rsultat. Vous pouvez
dsormais modifier cet tat votre guise.

Dveloppement dapplications Windows avec Visual Basic .NET

Page 57
Pour afficher cet tat, vous devez ajouter votre projet un nouveau
formulaire Windows et ajout ce dernier un contrle Crytal
Report Viewer .



Dans le code de ce formulaire, tapez les instructions suivantes :
Public rpt As New CrystalReport1
Dans le code du formulaire appelant ltat afficher, tapez les
instructions suivantes
Private Sub Button1_Click() Handles Button1.Click
Dim frm As New Form1
frm.rpt.SetDataSource(DataSet11)
frm.CrystalReportViewer1.ReportSource=frm.rpt
frm.Show()
End Sub
2) Etats sur slection
Pour afficher un tat sur des donnes filtres, vous pouvez crer
votre propre DataSet bas sur votre filtre et dafficher ce dataset.
Private Sub Button1_Click() Handles Button1.Click
Dim frm As New Form1
Dim oledbadap As New OleDb.OleDbDataAdapter
Dim ds As New DataSet
oledbadap.SelectCommand = New
OleDb.OleDbCommand("SELECT * FROM Editeurs WHERE "
+ selection, OleDbConnection1)
oledbadap.Fill(ds, "Editeurs")
frm.rpt.SetDataSource(ds)
Dveloppement dapplications Windows avec Visual Basic .NET

Page 58
frm.Show()
End Sub


Vous pouvez aussi passer le filtre Crystal Report afin quil
lapplique aux donnes slectionnes.
Dans le code du formulaire ayant le contrle Control Report Viewer,
tapez les instructions suivantes :
Private Sub Button1_Click() Handles Button1.Click
Dim frm As New Form1
frm.rpt.SetDataSource(DataSet11)
frm.CrystalReportViewer1.ReportSource=frm.rpt
frm.CrystalReportViewer1.SelectionFormula =
selection
frm.Show()
End Sub




Dveloppement dapplications Windows avec Visual Basic .NET

Page 59
CHAPITRE S : DEPLOIEMENT D'APPLICATIONS
Une fois lapplication dvelopp, teste et dbogue, elle est prte
tre dploye sur les ordinateurs clients.
I) Mthode de dploiement
1. Dploiement XCOPY
Cette mthode consiste faire une copie exacte du dossier de votre
application vers lordinateur cible. Cela suppose que lordinateur
cible possde dj toutes les ressources externes aux projets dont
le .NET Framework.
Exemple :
XCOPY F:\MonApplication C:\MonApplication /s


Dveloppement dapplications Windows avec Visual Basic .NET

Page 60
ANNEXES

Annexe I : Liste des fonctions et procdures cls de VB.NET
Catgorie Entre/Sortie
InputBox : Affiche une boite de dialogue avec une zone de saisie pour
recueillir une entre de lutilisateur
Syntaxe
InputBox(prompt[, title][, default][, xpos][, ypos])
Prompt : Message afficher
Title : Titre de la boite de dialogue
Default : Rponse par dfaut attendue
Xpos, Ypos : position du bord haut gauche de la
boite de dialogue
Exemple
Matricule = InputBox(Entrez votre numro Matricule)
MsgBox : Affiche une boite de dialogue qui affiche un message et attend
que lutilisateur clique sur un bouton.
Syntaxe
MsgBox(prompt[, buttons][, title])
Prompt : Message afficher
Buttons : Dfinit les boutons et icnes
affiches. Parmi les options disponibles, nous avons
OKOnly, OKCancel, AbortRetryIgnore, YesNoCancel,
YesNo,RetryCancel, Critical, Question, Exclamation,
Information. Ces options sont cummulables par simple
addition
Title : Titre de la boite de dialogue
Exemple
MsgBox("Cette opration prendra plusieurs minutes", _
MsgBoxStyle.Exclamation + MsgBoxStyle.OKCancel)
Catgorie Manipulation de Fichier
ChDir : change le rpertoire par dfaut mais pas le lecteur.
Exemple
ChDir("D:\TEMP") 'se place sur le dossier D:\TEMP
ChDir("..") 'se place sur le dossier parent
ChDrive : change le lecteur actif
Exemple
ChDrive("A") 'se place sur le lecteur A:
CurDir :
Dir :
FileCopy :
FileDateTime :
Dveloppement dapplications Windows avec Visual Basic .NET

Page 61
FileLen

GetAttr :
Kill
MkDir :
Rename :
RmDir :
SetAttr :
EOF :
FileAttr :
FileClose :
FileOpen :
FileGet :
FilePut :
FreeFile :

Input :
LineInput :
Loc :
Lock :
LOF :
Print :
PrintLine :
Reset :

Seek :
Unlock :
Width :
Write :
WriteLine :

Catgorie Identification des types de donnes
IsArray :
IsDate :
IsDBNull :
IsNothing : IsNumeric :
IsReference :
TypeName :
VarType :
Catgorie Conversion de Type
CInt : Convertit une expression en Integer
MyInt = CInt(346.789) 'MyInt prend la valeur 346
CByte : Convertit une expression en Byte
CChar : Convertit une expression en Char
CDate : Convertit une expression en Date
CDbl : Convertit une expression en Double
CDec : Convertit une expression en Decimal
CBool : Convertit une expression en Booleen
CLng : Convertit une expression en Long
Dveloppement dapplications Windows avec Visual Basic .NET

Page 62
CObj : Convertit une expression en Objet
CShort : Convertit une expression en Short
CStr : Convertit une expression en String
CType : Convertit une expression en un type de donne
MyInt = CType(346.789, int) 'MyInt prend la valeur 346
Catgorie Manipulation de chane de caractre
Asc : retourne le code ascii dun caractre
MyInt = Asc("A") 'MyInt prend la valeur 65
AscW :
Chr : retourne le caractre correspondant au code ASCII
ChrW :
Filter :
InStr : retourne la position de la premire occurrence du caractre dans la chane
MyInt = Instr("Auto","t") 'MyInt prend la valeur 3
InStrRev :
Join :
LCase : transforme la chane en minuscules
MaStr = LCase("ABC") 'MaStr prend la valeur "abc"
Left : retourne les n premiers caractres de la chaine en partant de la gauche
MaStr = Left("Auto",2) 'MaStr prend la valeur "Au"
Len : retourne la longueur dune chane
MyInt = Len("Pigier") 'MyInt prend la valeur 6
LTrim : supprime les espaces en dbut de chane
MaStr = LTrim(" abc ") 'MaStr prend la valeur "abc "
Mid : retourne les n caractres du milieu partir de la position indique
MaStr = Mid("Auto",2,2) 'MaStr prend la valeur "ut"
Replace :
Right : retourne les n derniers caractres de la chaine en partant de la droite
MaStr = Right("Auto",2) 'MaStr prend la valeur "to"
RTrim : supprime les espaces en fin de chane
MaStr = RTrim(" abc ") 'MaStr prend la valeur " abc"
Space : gnre n fois le caractre espace
MaStr = Space(4) 'MaStr prend la valeur " "
Split :
StrComp :
StrConv :
StrDup :
String : recopie n fois le caractre spcifi
MaStr = String(4,"A") 'MaStr prend la valeur "AAAA"
StrReverse :
Trim : supprime les espaces en dbut et en fin de chaine
MaStr = Trim(" abc ") 'MaStr prend la valeur "abc"
UCase : transforme la chane en majuscules
MaStr = UCase("abc") 'MaStr prend la valeur "ABC"
Catgorie Formatage de donnes
Format :
FormatCurrency :
Dveloppement dapplications Windows avec Visual Basic .NET

Page 63
FormatDateTime :
FormatNumber :
FormatPercent :
LSet :
RSet :
Str :
Val :
Catgorie Mathmatique
Abs : donne la valeur absolue du nombre
MaVar = Abs(-19) 'MaVar prend la valeur 19
Atan : donne larc tangente de langle
Cos : donne le cosinus de langle
Exp : donne lexponentielle du nombre
MaVar = Exp(1) 'MaVar prend la valeur 2.71828
Fix : tronque les dcimales du nombre
MaVar = Fix(-4.68) 'MaVar prend la valeur -4
Hex :
Int : donne la partie entire du nombre
MaVar = Int(-4.68) 'MaVar prend la valeur -5
'Int et Fix ne diffrent que
'pour les valeurs ngatives
Log : donne le logarithme naturel (base e)
Oct :
Pow :
Round : arrondit la valeur suprieure
MaVar = Round(4.68) 'MaVar prend la valeur 5
Sgn : donne le signe dun nombre en retournant la valeur 1, 0 ou 1
MaVar = Sgn(-4.68) 'MaVar prend la valeur -1
Sin : donne le sinus de langle
Sqrt : donne la racine carre de la valeur (valeur positive uniquement)
MaVar = Sqrt(16) 'MaVar prend la valeur 4
Tan : donne la tangente de langle
Catgorie Date et Heure
DateAdd : Ajoute ou retranche une dure donne une date
DateDiff : Dtermine le nombre de dures spcifies qui existent entre deux valeurs
date/heure
DatePart :
DateSerial :
DateValue :
Day :

Hour :
Minute :
Month :
MonthName :
Now :
Second :
Dveloppement dapplications Windows avec Visual Basic .NET

Page 64

TimeSerial :
TimeValue :
Weekday :
WeekdayName :
Year :

Catgorie Nombre Alatoires
Rnd :
Randomize
Catgorie Couleur
QBColor :
RGB :
Catgorie Base de Rgistre
DeleteSetting :
GetAllSettings :
GetSetting :
SaveSetting :
Application Collaboration
AppActivate :
Shell :
Catgorie Autres
Beep : Envoie un signal sonore de courte dure partir du haut-parleur
interne de lordinateur
Beep()
CallByName :
Choose :
Environ :
IIf :
Option
Switch :