Download - GDI-VB.Net
[[[[POO: VB.Net]]]] TDI
FARIH Saïd 1
LLLL’’’’iiiinnnntttteeeerrrrffffaaaacccceeee graphiquegraphiquegraphiquegraphique eeeennnn VVVVBBBB....NNNNeeeetttt IIII.... Environnement Visual StudioEnvironnement Visual StudioEnvironnement Visual StudioEnvironnement Visual Studio
Après avoir fait connaissance des concepts de la programmation objet, on va se familiariser avec l'interface VB,
c'est-à-dire avec les principaux outils qu’offre l'environnement de développement Visual Studio.
1111.... Structure des fichiers VBStructure des fichiers VBStructure des fichiers VBStructure des fichiers VB Les habitués de Visual Studio 6.0 ne seront pas trompés : l’interface de Visual Basic .net reprend la plupart des
palettes standards avec quelques outils en plus :
La barre d’outils regroupe les différents contrôles par catégories;
La zone centrale permet tour à tour d’écrire le code et de définir les interfaces graphiques utilisateurs;
A droite, l’explorateur de solutions et la fenêtre de propriétés;
La première chose à faire, c'est d'assimiler l'architecture des constructions qu’on va créer et le vocabulaire qui
va avec. Et ça, ce n'est pas rien, tant à côté d'une application VB, et autant consacrer quelques minutes à se mettre les
idées au clair plutôt que perdre ensuite des heures juste parce qu'on s'est mélangé les pinceaux dans les arborescences
et les dénominations.
Alors, une application VB.NET, c'est quoi ? C'est :
Un ensemble de fichiers formant ce qu'on appelle le code soucode soucode soucode sourcercercerce, écrit dans le langage Visual Basic. Un fichier exécutablefichier exécutablefichier exécutablefichier exécutable, produit à partir de ce code source. Rappelle que le fait d'engendrer un fichier exécutable à partir du code source s'appelle la compilationcompilationcompilationcompilation.
En ce qui concerne le code source, VB va l'organiser de la manière suivante :
Le point de départ d'une application VB, c'est une solutionsolutionsolutionsolution. Lorsqu'on crée une nouvelle solution, VB demande pour celle-ci un nomnomnomnom et un répertoirerépertoirerépertoirerépertoire. Il va alors faire trois choses :
iiii.... Créer à l'emplacement indiqué le répertoirerépertoirerépertoirerépertoire portant le nom de la solution;
iiiiiiii.... Dans ce répertoire, toujours avec le nom de la solution, créer un fichier créer un fichier créer un fichier créer un fichier *.sln*.sln*.sln*.sln contenant les informations de la solution.
iiiiiiiiiiii.... Et toujours dans ce répertoire, toujours avec le nom de la solution, créer un fichier caché créer un fichier caché créer un fichier caché créer un fichier caché *.*.*.*.suosuosuosuo, contenant les options choisies dans Visual Basic par le programmeur qui a développé la solution.
Mais ce n'est qu'un début. En effet, dans nos solutions Visual Basic, on va devoir insérer nos applications, c'est-
à-dire nos projetsprojetsprojetsprojets. Si on le souhaite, une même solution peut contenir plusieurs, voire des dizaines de projets. Cela
dit, onononon ne recommande pas cette stratégiene recommande pas cette stratégiene recommande pas cette stratégiene recommande pas cette stratégie. On considèrera donc, qu'une application VB = un projet = une solution.
En effet, chaque projet est lui aussi caractérisé par un nomnomnomnom et un répertorépertorépertorépertoireireireire de sauvegarde. Mais, et c'est là que
c'est fort, ce répertoire n'est pas forcément un sousce répertoire n'est pas forcément un sousce répertoire n'est pas forcément un sousce répertoire n'est pas forcément un sous----répertoire de la solution qui contient le projetrépertoire de la solution qui contient le projetrépertoire de la solution qui contient le projetrépertoire de la solution qui contient le projet - même si
lorsqu'on débute, ce soit très vigoureusement recommandé.
Il n'y a donc pas de rapport entre le fait Il n'y a donc pas de rapport entre le fait Il n'y a donc pas de rapport entre le fait Il n'y a donc pas de rapport entre le fait que les objets "solution" contiennent les objets "projets", et le fait que que les objets "solution" contiennent les objets "projets", et le fait que que les objets "solution" contiennent les objets "projets", et le fait que que les objets "solution" contiennent les objets "projets", et le fait que
le répertoire où est enregistrée la solution contienne les répertoires où sont enregistrés les projets...le répertoire où est enregistrée la solution contienne les répertoires où sont enregistrés les projets...le répertoire où est enregistrée la solution contienne les répertoires où sont enregistrés les projets...le répertoire où est enregistrée la solution contienne les répertoires où sont enregistrés les projets...
Toujours est-il que VB va non seulement créer un répertoire au nom du projet, mais qu'il va mettre dans ce
répertoire toute une série de fichiers, dont un fichier au nom du projet et à extension *.vbproj*.vbproj*.vbproj*.vbproj, fichier dans lequel est stockée toute la structure du projet.
Remarque:Remarque:Remarque:Remarque:
Il faut faire très attention lorsqu'on incorpore un projet dans une solution : en effet, la commande NouveauNouveauNouveauNouveau projetprojetprojetprojet entraîne obligatoirement la création d'une nouvelle solution. En revanche, pour insérer un projet dans une
solution existante, il faut choisir Ajouter un projetAjouter un projetAjouter un projetAjouter un projet. Enfin: dans chaque projet, il y a un certain nombre d'éléments de base. Ces éléments sont, pour l'essentiel, des
FormFormFormForm, ou formulairesformulairesformulairesformulaires. Une application Windows basique compte un seul formulaire, et une application complexe
peut en rassembler plusieurs dizaines. Chaque formulaire sera sauChaque formulaire sera sauChaque formulaire sera sauChaque formulaire sera sauvegardé dans un fichier différent, dont l'extension vegardé dans un fichier différent, dont l'extension vegardé dans un fichier différent, dont l'extension vegardé dans un fichier différent, dont l'extension
sera sera sera sera *.*.*.*.VBVBVBVB. Il faut noter que c'est dans ces fichiers *.VB que se trouve le code proprement dit.
[[[[POO: VB.Net]]]]
2
Conseils:Conseils:Conseils:Conseils:
On appliquera donc impérativement les règles suivantes :
Une solution par projet, un projet par s
Le projet devra être sauvegardé dans un sous
En ce qui concerne l'exécutable, A
directement exécutable par toutes les machines. Les instructions co
dans un langage appelé MSILMSILMSILMSIL, pour MicroSoft Intermediate LangageMicroSoft Intermediate LangageMicroSoft Intermediate LangageMicroSoft Intermediate Langageà des couches "intermédiaires" de la machine, à savoir d'une part Windows lui
logicielle appelée le Framework .NETFramework .NETFramework .NETFramework .NET (qu'on peut traduire par "infrastructure .NET").Pour pouvoir exécuter un exécutable
Framework.NET, que l'on peut télécharger gratuitement
Comment déclencher la compilation ? En passant par la commande
projets de la solution encours. Le fichier .
2222.... Prise en main de Visual BasicPrise en main de Visual BasicPrise en main de Visual BasicPrise en main de Visual BasicLe logiciel Visual Basic Studio est utilisé pour
sous une forme facilement accessible, les classes Windows les plus communes (boutons, listes, cases, et tout ce qui
s'essuie).
aaaa.... Les deux fenêtres principalesLes deux fenêtres principalesLes deux fenêtres principalesLes deux fenêtres principales Lorsqu'on va la programmer via Visual Studio, une application va toujours pouvoir être abordée sous deux
angles complémentaires :
L'aspect graphique, visuel (son interface
objets qu’on veut voir figurer dans notre application, les poser sur notre formulaire, modifier leurs propriétés par
défaut, etc :
iiii.... Fenêtre d’explorationFenêtre d’explorationFenêtre d’explorationFenêtre d’exploration
iiiiiiii.... FenêtreFenêtreFenêtreFenêtre de codede codede codede code
Le code proprement dit, où on va entrer les différentes procédures en rapport avec le formulaire en question :
Passons au code. Visual Studio va en fait décrypter notre code au fur et à mesure de sa ré
en temps réel des indications via des codes de couleur. Ainsi :
Boite à outils
(Contrôles
standards)
Zone des
messages
FARIH Saïd
donc impérativement les règles suivantes :
ne solution par projet, un projet par solution;
e projet devra être sauvegardé dans un sous-répertoire de la solution;
A la différence de certains autres langages, VB
directement exécutable par toutes les machines. Les instructions contenues dans un exécutable
MicroSoft Intermediate LangageMicroSoft Intermediate LangageMicroSoft Intermediate LangageMicroSoft Intermediate Langage. Comme son nom l'indique, ce langage s'adresse
à des couches "intermédiaires" de la machine, à savoir d'une part Windows lui-même, d'autre part
(qu'on peut traduire par "infrastructure .NET").
Pour pouvoir exécuter un exécutable VB.NET, une machine doit donc impérativement comporter ce
télécharger gratuitement sur le site de Microsoft.
Comment déclencher la compilation ? En passant par la commande GénérerGénérerGénérerGénérer, qui propose le(s) nom(s) des
.exeexeexeexe est alors généré dans le sous-répertoire binbinbinbin
Prise en main de Visual BasicPrise en main de Visual BasicPrise en main de Visual BasicPrise en main de Visual Basic utilisé pour faciliter l'écriture de programmes en mettant à notre disposition,
ne forme facilement accessible, les classes Windows les plus communes (boutons, listes, cases, et tout ce qui
Lorsqu'on va la programmer via Visual Studio, une application va toujours pouvoir être abordée sous deux
son interface). Dans la fenêtre principale de VB, onvoir figurer dans notre application, les poser sur notre formulaire, modifier leurs propriétés par
entrer les différentes procédures en rapport avec le formulaire en question :
Passons au code. Visual Studio va en fait décrypter notre code au fur et à mesure de sa ré
en temps réel des indications via des codes de couleur. Ainsi :
Explorateur
Conception
Fenêtre des
propriétés
TDI
FARIH Saïd
VB.NET ne produit pas un code
ntenues dans un exécutable VB.NET sont écrites
. Comme son nom l'indique, ce langage s'adresse
même, d'autre part à une couche
.NET, une machine doit donc impérativement comporter ce
, qui propose le(s) nom(s) des
binbinbinbin correspondant au projet.
faciliter l'écriture de programmes en mettant à notre disposition,
ne forme facilement accessible, les classes Windows les plus communes (boutons, listes, cases, et tout ce qui
Lorsqu'on va la programmer via Visual Studio, une application va toujours pouvoir être abordée sous deux
on pourra mettre les différents
voir figurer dans notre application, les poser sur notre formulaire, modifier leurs propriétés par
entrer les différentes procédures en rapport avec le formulaire en question :
Passons au code. Visual Studio va en fait décrypter notre code au fur et à mesure de sa rédaction, et on donner
[[[[POO: VB.Net]]]]
3
Les titres de procédures seront écrits en
Les mots-clés du langage seront portés en
Les commentaires seront en vertvertvertvert;;;;
Toute ligne comportant une faute de sy
soulignéesoulignéesoulignéesoulignée. Qui plus est, il suffira d'amener le curseur de la souris au
immédiatement affichée dans une bulle d'aide. On dispose donc
Lorsqu’on tape dans le code un nom d'objet, et pour peu que ce nom soit reconnu (c'est
bien un objet de ce nom dans notre application),
lilililiste déroulante avec l'intégralité des propriétés et méthodes disponibles pour cet objetste déroulante avec l'intégralité des propriétés et méthodes disponibles pour cet objetste déroulante avec l'intégralité des propriétés et méthodes disponibles pour cet objetste déroulante avec l'intégralité des propriétés et méthodes disponibles pour cet objet
Comme on est dans un langage qui est un langage
être déployés ou masqués, pour plus de lisibilité, via
ExempleExempleExempleExemple Option Strict On 'Force la declaration des variables et le transtypa geImports System 'Permet l'utilisation des outils de base du langageModule MyFirstProgram 'Procedure principale . Point d'entree de l'execution du programme Sub Main() 'Presentation du programme Call Console.WriteLine( "Ce programme vous dit :..." Call Console.WriteLine( "Hello world" Call Console.WriteLine( "Pressez 'Enter' pour t Console.Read() End Sub End Module
Bâtir une application VB, c'est généralement faire de fréquents allers
Pour cela: il suffit de se servir des ongletsongletsongletsonglets
bbbb.... Les explorateursLes explorateursLes explorateursLes explorateurs iiii.... Explorateur de serveurExplorateur de serveurExplorateur de serveurExplorateur de serveur
L’explorateur de serveur permet de recenser sous forme hiérarchique l’ensemble des objets d’un serveur (Serveurs
SQL, journaux, Services …). Cette fenêtre est principalement utilisées afin d’accéder
données utilisée dans une application.
Erreur de compilation
Soulignée en zigzag
Après un objet
FARIH Saïd
es titres de procédures seront écrits en grisgrisgrisgris;;;;
clés du langage seront portés en bleubleubleubleu;;;;
;;;;
Toute ligne comportant une faute de syntaxe, ou posant un problème au compilateur, sera immédiatement
. Qui plus est, il suffira d'amener le curseur de la souris au-dessus de l'erreur pour que la raison en soit
immédiatement affichée dans une bulle d'aide. On dispose donc d'un premier outil de débogage.
tape dans le code un nom d'objet, et pour peu que ce nom soit reconnu (c'est
bien un objet de ce nom dans notre application), sitôt sitôt sitôt sitôt qu’onqu’onqu’onqu’on entre le point qui termine le nom de l'objet, apparaît une entre le point qui termine le nom de l'objet, apparaît une entre le point qui termine le nom de l'objet, apparaît une entre le point qui termine le nom de l'objet, apparaît une
ste déroulante avec l'intégralité des propriétés et méthodes disponibles pour cet objetste déroulante avec l'intégralité des propriétés et méthodes disponibles pour cet objetste déroulante avec l'intégralité des propriétés et méthodes disponibles pour cet objetste déroulante avec l'intégralité des propriétés et méthodes disponibles pour cet objet.
dans un langage qui est un langage structuréstructuréstructuréstructuré, le code est organisé sous forme de
être déployés ou masqués, pour plus de lisibilité, via les petites icônes placés à gauche de la tête de chaque bloc.
'Force la declaration des variables et le transtypa ge'Permet l'utilisation des outils de base du langage
. Point d'entree de l'execution du programme
'Presentation du programme "Ce programme vous dit :..." ) "Hello world" ) "Pressez 'Enter' pour t erminer l'execution..."
, c'est généralement faire de fréquents allers-retours entre les deux représentations.
ongletsongletsongletsonglets disponibles sur le haut de chaque fenêtre.
L’explorateur de serveur permet de recenser sous forme hiérarchique l’ensemble des objets d’un serveur (Serveurs
SQL, journaux, Services …). Cette fenêtre est principalement utilisées afin d’accéder
Commentaire
Erreur de compilation
Soulignée en zigzag
Liste déroulante
Après un objet reconnu
Instruction
TDI
FARIH Saïd
ntaxe, ou posant un problème au compilateur, sera immédiatement
dessus de l'erreur pour que la raison en soit
outil de débogage.
tape dans le code un nom d'objet, et pour peu que ce nom soit reconnu (c'est-à-dire qu'il existe bel et
entre le point qui termine le nom de l'objet, apparaît une entre le point qui termine le nom de l'objet, apparaît une entre le point qui termine le nom de l'objet, apparaît une entre le point qui termine le nom de l'objet, apparaît une
, le code est organisé sous forme de blocsblocsblocsblocs qui peuvent
les petites icônes placés à gauche de la tête de chaque bloc.
'Force la declaration des variables et le transtypa ge
. Point d'entree de l'execution du programme
erminer l'execution..." )
retours entre les deux représentations.
L’explorateur de serveur permet de recenser sous forme hiérarchique l’ensemble des objets d’un serveur (Serveurs
SQL, journaux, Services …). Cette fenêtre est principalement utilisées afin d’accéder au schéma d’une base de
[[[[POO: VB.Net]]]]
4
Explorateur de serveurExplorateur de serveurExplorateur de serveurExplorateur de serveur
iiiiiiii.... La boîte à outils et les contrôles standardsLa boîte à outils et les contrôles standardsLa boîte à outils et les contrôles standardsLa boîte à outils et les contrôles standards
La partie graphique de l’application va contenir un (ou plusieurs)
placer un ou plusieurs objets graphiques ou ce qu’on appellera des contrôles (Bouton à
cliquer, Champ libellé (texte statique), Champ texte à saisir au clavier, Menu,
Ces contrôles sont des objets pré
faciliter l’interaction avec l’utilisateur. Chacun de ces objets
fonctionnalité bien précise. Le tableau suivant
les plus utilisés:
Contrôle Contrôle Contrôle Contrôle Nom du contrôle Nom du contrôle Nom du contrôle Nom du contrôle UtiliUtiliUtiliUtili
Label Afficher un texte statique : un libellé
TextBox Afficher et rentrer une valeur au clavier
Button Lancer l’exécution une procédure événementielle
ListBox Afficher une
ComboBox Combiner l’utilité des contrôles ListBox
PictureBox
Afficher une image dans un cadre. Celuiêtre redimensionné en fonction de l’image (Autosize = True
RadioButton
Sélectionner une option. Si utilisé en plusieurs instances (choisie
CheckBox
Sélectionner une option. Si utilisé en plusieurs instances (être choisies
GroupBox Créer une fenêtre au sein d’un formulaire et créer un groupe de contrôles.
Les contrôles standards dans VB se trouvent dans la Boîte à outils (
(Components) peuvent être ajoutés dans la boîte à outils, enProject/ Add Components.
FARIH Saïd
L’affichage de classesL’affichage de classesL’affichage de classesL’affichage de classes Fenêtre de propriétésFenêtre de propriétésFenêtre de propriétésFenêtre de propriétés
La boîte à outils et les contrôles standardsLa boîte à outils et les contrôles standardsLa boîte à outils et les contrôles standardsLa boîte à outils et les contrôles standards
application va contenir un (ou plusieurs) formulaire(s). Sur un formulaire, on peut
graphiques ou ce qu’on appellera des contrôles (Bouton à
Champ libellé (texte statique), Champ texte à saisir au clavier, Menu, etc.).
Ces contrôles sont des objets pré-programmés dont l’utilité principale est de
faciliter l’interaction avec l’utilisateur. Chacun de ces objets graphiques a une
fonctionnalité bien précise. Le tableau suivant résume les contrôles standards de base
UtiliUtiliUtiliUtilitététété
Afficher un texte statique : un libellé
Afficher et rentrer une valeur au clavier
Lancer l’exécution une procédure événementielle
Afficher une liste statique de valeur
Combiner l’utilité des contrôles TextBox et ListBox
Afficher une image dans un cadre. Celui-ci peut être redimensionné en fonction de l’image Autosize = True)
Sélectionner une option. Si utilisé en plusieurs instances (Option Button), une seule peut être choisie
Sélectionner une option. Si utilisé en plusieurs instances (Check Box), une ou plusieurs peuvent
e choisies
Créer une fenêtre au sein d’un formulaire et créer un groupe de contrôles.
Les contrôles standards dans VB se trouvent dans la Boîte à outils (ToolBox). D’autres contrôles plus élaborés
utés dans la boîte à outils, en sélectionnant dans la barre du menu :
TDI
FARIH Saïd
Fenêtre de propriétésFenêtre de propriétésFenêtre de propriétésFenêtre de propriétés
rmulaire(s). Sur un formulaire, on peut
graphiques ou ce qu’on appellera des contrôles (Bouton à
est de
graphiques a une
résume les contrôles standards de base
D’autres contrôles plus élaborés
sélectionnant dans la barre du menu :
[[[[POO: VB.Net]]]]
5
iiiiiiiiiiii.... L’affichage de classesL’affichage de classesL’affichage de classesL’affichage de classes
L’affichage de classes liste de manière hiérarchique les différentes classes du projet ainsi que leurs méthodes,
propriétés, évènements et autre relations d’héritage.
iviviviv.... Fenêtre de propriétésFenêtre de propriétésFenêtre de propriétésFenêtre de propriétés
Déjà présente dans la version 6.0, cette fenêtre recense toutes les propriétés relatives à l’objet sélectionné.
Chaque fois qu'un contrôle (ou plusieurs) est sélectionné, la
l'écran) affiche les valeurs associées à ce contrôle. C'est
on l'a vu varie d'une classe, donc d'un contrôle, à l'autre) et la
l'autre, même lorsqu'ils sont de la même classe).
Les propriétés qui sont affichées là sont les
au moment du lancement de l'applicationau moment du lancement de l'applicationau moment du lancement de l'applicationau moment du lancement de l'application
notamment par des lignes de code. Mais, pour fixer les propriétés voulues pour chaque contrôle au lancement de
l'application, le plus simple est de fixer à la main, sans code, les valeurs désirées dans cette fenêt
On peut citer quelques propriétés de ‘
Name = Form1 , nom logique utilisé pour référencer l’objet dans du code VB.
BackColor = &H800000 , couleur de fond de l’objet Form1.
Text = Form1 , nom qui apparaît
vvvv.... Explorateur de SolutionsExplorateur de SolutionsExplorateur de SolutionsExplorateur de Solutions
L’explorateur de solutions (Ex explorateur de projet sous
l’ensemble des éléments des projets (Fichier de configuration pour l’assemblag
classes hérités, Feuilles….)
Une solution contient les fichiers suivants
.sln.sln.sln.sln : fichier de configuration de la solution
.vbproj.vbproj.vbproj.vbproj : fichier projet, (ancien .vbp.vbp.vbp.vbp)
.VB.VB.VB.VB : fichiers contenant du code (anciens
.resx.resx.resx.resx : associé à une feuille, contient les ressources Renommer le fichier programme : ce doit être le nom du module
Dans Solution Explorer : Bouton droit sur le nom du programme (Module1.vb)
vivivivi.... L’aide dynamiqueL’aide dynamiqueL’aide dynamiqueL’aide dynamique
L’aide dynamique propose à tous les moments de la conception des rubriques d’aide utiles en fonction de ce
qu’on faîtes. Par exemple, la rubrique « créer une collection de contrôles
radio à l'application. Appuyer sur F1 pour accéder à l'aide en ligne.
viiviiviivii.... La liste des tâchesLa liste des tâchesLa liste des tâchesLa liste des tâches
La fenêtre liste des tâche permet de recenser l’ensemble des tâche à réaliser sur
remplie de plusieurs façons :
Une tâche qu’on aura nous même définie (ex
Une tâche issue des commentaires du
automatiquement ajouté;
Lorsqu’une erreur de syntaxe est détectée par Visual Studio, elle est automatiquement
FARIH Saïd
L’affichage de classes liste de manière hiérarchique les différentes classes du projet ainsi que leurs méthodes,
t autre relations d’héritage.
Déjà présente dans la version 6.0, cette fenêtre recense toutes les propriétés relatives à l’objet sélectionné.
contrôle (ou plusieurs) est sélectionné, la fenêtre des propriétésfenêtre des propriétésfenêtre des propriétésfenêtre des propriétés (située
l'écran) affiche les valeurs associées à ce contrôle. C'est-à-dire que se mettent à jour la liste des propriétésliste des propriétésliste des propriétésliste des propriétés
on l'a vu varie d'une classe, donc d'un contrôle, à l'autre) et la valeur de ces propriétésvaleur de ces propriétésvaleur de ces propriétésvaleur de ces propriétés
l'autre, même lorsqu'ils sont de la même classe).
Les propriétés qui sont affichées là sont les propriétés par défautpropriétés par défautpropriétés par défautpropriétés par défaut du contrôle. Ce sont celles qu'aura le contrôle
au moment du lancement de l'applicationau moment du lancement de l'applicationau moment du lancement de l'applicationau moment du lancement de l'application. Bien sûr, par la suite, il n'est pas exclu que ces propriétés soient modifiées,
notamment par des lignes de code. Mais, pour fixer les propriétés voulues pour chaque contrôle au lancement de
l'application, le plus simple est de fixer à la main, sans code, les valeurs désirées dans cette fenêt
On peut citer quelques propriétés de ‘Form1’ et leurs valeurs respectives:
, nom logique utilisé pour référencer l’objet dans du code VB.
, couleur de fond de l’objet Form1.
, nom qui apparaît visuellement sur l’objet, celui-ci peut être différent de la
L’explorateur de solutions (Ex explorateur de projet sous VB 6.0) référence
l’ensemble des éléments des projets (Fichier de configuration pour l’assemblage, super
Une solution contient les fichiers suivants :
: fichier de configuration de la solution
: fichiers contenant du code (anciens .bas, .frm, .cls.bas, .frm, .cls.bas, .frm, .cls.bas, .frm, .cls) euille, contient les ressources
Renommer le fichier programme : ce doit être le nom du module
Dans Solution Explorer : Bouton droit sur le nom du programme (Module1.vb) →
L’aide dynamique propose à tous les moments de la conception des rubriques d’aide utiles en fonction de ce
créer une collection de contrôles » sera affichée lors
Appuyer sur F1 pour accéder à l'aide en ligne.
La fenêtre liste des tâche permet de recenser l’ensemble des tâche à réaliser sur le
même définie (ex : appeler le client à 11h);
tâche issue des commentaires du code : tous commentaires du code commençant par «
Lorsqu’une erreur de syntaxe est détectée par Visual Studio, elle est automatiquement
TDI
FARIH Saïd
L’affichage de classes liste de manière hiérarchique les différentes classes du projet ainsi que leurs méthodes,
Déjà présente dans la version 6.0, cette fenêtre recense toutes les propriétés relatives à l’objet sélectionné.
(située en standard à droite de
liste des propriétésliste des propriétésliste des propriétésliste des propriétés (qui comme
valeur de ces propriétésvaleur de ces propriétésvaleur de ces propriétésvaleur de ces propriétés (qui varie d'un contrôle à
du contrôle. Ce sont celles qu'aura le contrôle
exclu que ces propriétés soient modifiées,
notamment par des lignes de code. Mais, pour fixer les propriétés voulues pour chaque contrôle au lancement de
l'application, le plus simple est de fixer à la main, sans code, les valeurs désirées dans cette fenêtre des propriétés.
ci peut être différent de la propriété Name.
6.0) référence
e, super
→ Rename
L’aide dynamique propose à tous les moments de la conception des rubriques d’aide utiles en fonction de ce
» sera affichée lorsqu’on ajoutera un bouton
le projet. Cette liste peut être
code commençant par « todo: » sera
Lorsqu’une erreur de syntaxe est détectée par Visual Studio, elle est automatiquement ajoutée dans la liste;
[[[[POO: VB.Net]]]] TDI
FARIH Saïd 6
3333.... Applications WindowsApplications WindowsApplications WindowsApplications Windows Le Framework Visual Basic .Net permet la création de formulaires Windows afin d’établir des interfaces
graphiques entre l’utilisateur et le code. Ces formulaires sont des fenêtres qui contiendront des contrôles (Champs
texte, boutons, liste déroulantes ….).
aaaa.... Les formulairesLes formulairesLes formulairesLes formulaires
Les formulaires sont les éléments de base des applications graphiques Windows.Il existe 2 solutions pour la
création de formulaires sous le Framework .Net : iiii.... Windows FormsWindows FormsWindows FormsWindows Forms
Ce sont les formulaires dont disposait Visual basic 6. Les applications basées sur ces formulaires sont utilisés
pour le développement d’applications pour lesquelles la plupart des traitements se font sur la machine cliente et qui
ont besoin d’accéder aux ressources de la machine (fichiers, lecteurs, imprimantes …).
iiiiiiii.... Web Web Web Web FormsFormsFormsForms
Les applications à base de Web Forms sont destinées à être utilisées sur le Web par le biais d’un navigateur. Ce
genre d’application présente plusieurs avantages comme un déploiement facile dans le sens où seuls les composants
du navigateur doivent être installés, une maintenance simplifiée car le programme est stocké sur le serveur et, enfin,
les applications développées sont indépendantes de toutes plateformes dans le sens où elles n’utilisent que les
ressources du navigateur.
bbbb.... Modes de présentationModes de présentationModes de présentationModes de présentation En fonction de l’application à réaliser, plusieurs modes de présentation des feuilles peuvent être utilisés :
Mono document : Ce genre d’application appelée SDISDISDISDI (Single Document Interface) ne permet l’affichage que
d’une fenêtre à la fois. L’outil PaintPaintPaintPaint en est un bon exemple.
Multi document : Les applications MDIMDIMDIMDI (Multiple Document Interface) sont constituées d’une fenêtre
principale (Fenêtre mère) contenant à son tour plusieurs documents (fenêtre fille). Microsoft Word est une
application MDIMDIMDIMDI. Explorateur : C’est le mode de présentation le plus utilisé. Il permet un affichage hiérarchique des menus sur
la partie gauche et l’affichage des éléments sous forme de liste sur la partie droite. L’outil « Gestion de
l’ordinateur » sous Windows 2000 en est un exemple.
IIIIIIII.... Manipulation des contrôlesManipulation des contrôlesManipulation des contrôlesManipulation des contrôles 1111.... Définition Définition Définition Définition
Un contrôlecontrôlecontrôlecontrôle est un objet créé à partir de certaines des classes définies dans Windows. En standard, VB propose
plusieurs rubriques au sein de sa boîte à outils, et rien que dans la principale d'entre elles, la rubrique Windows Windows Windows Windows
FormsFormsFormsForms, une quarantaine de contrôles,
Créer des contrôles à partir des classes proposées en standard est extrêmement simple. Il suffit d'aller piocher
d'un clic de souris le contrôle voulu dans la boîte à outils (qui, dans la configuration normale, se trouve à gauche de
l'écran) et d'effectuer un glisser-déplacer sur le formulaire pour donner à ce contrôle la taille et l'emplacement
voulus. A signaler, qu'un simple double-clic dans la boîte à outils constitue une solution alternative. Par la suite, on
peut toujours modifier l'emplacement et la taille d'un contrôle, d'un simple coup de souris bien placé.
Pour supprimer un contrôle, c'est encore plus simple : on le sélectionne, et ensuite la touche SUPPR l'enlèvera.
Si l'on veut manipuler plusieurs contrôles du formulaire à la fois, on peut sélectionner toute une zone (par un habile
cliquer-glisser), ou encore sélectionner individuellement chaque contrôle en maintenant la touche CTRL enfoncée.
2222.... Types de contrôlesTypes de contrôlesTypes de contrôlesTypes de contrôles Les contrôles permettent de créer l’interface entre l’utilisateur et notre application. C’est via les contrôles que
l’utilisateur pourra saisir des données, effectuer des sélections et déclencher des actions par l’intermédiaire des
événements.
[[[[POO: VB.Net]]]] TDI
FARIH Saïd 7
De manière générale, les contrôles sont des objets graphiques, c’est à dire qu’ils seront placés et visibles sur le
formulaire. Cependant, certains contrôles offrant des fonctionnalités de programmation n’apparaîtront pas sur le
formulaire mais dans une zone située en bas et uniquement en mode « Design ».
cccc.... Membres communsMembres communsMembres communsMembres communs Les contrôles Visual Basic .Net sont des classes issues de la classe de base « control ». Cette dernière assure
les fonctions élémentaires comme le placement sur une feuille, leur position … A cette classe est ajoutée une classe
dérivée permettant la personnalisation des différents contrôles.
iiii.... PPPPropriétésropriétésropriétésropriétés
Name: Nom du contrôle. Ce nom ne comporter que des lettres et le caractère underscore « _ ».
Anchor : Les ancres permettent de modifier automatiquement la taille d’un contrôle lors du
redimensionnement d’un formulaire. Chaque contrôle possède sa propre ancre.
Lors du paramétrage, on doit définir sur quels bords du conteneur est ancré le contrôle. Dans l’exemple suivant,
on crée un contrôle ancré à gauche et à droite :
CanFocus : Booléen spécifiant si le contrôle peut recevoir le focus.
CanSelect : Booléen spécifiant si le contrôle peut être sélectionné.
Dock : Dans le même esprit, la propriété « Dock » permet d’ancrer un contrôle aux à un bord du conteneur.
Dans l’exemple suivant, le bouton est ancré en bas :
Contrôle graphique
Contrôle masqué
[[[[POO: VB.Net]]]] TDI
FARIH Saïd 8
Enabled : Cette propriété est une valeur booléenne spécifiant si le contrôle est accessible ou non. Dans le
second cas, le contrôle apparaîtra grisé.
Location : La propriété Location est un objet permettant de définir l’emplacement du contrôle par rapport à
son conteneur. Il est composé de deux propriétés (X et Y) qui définissent ses coordonnées par rapport au coin
supérieur gauche du conteneur.
Locked : Contrairement à la version précédente, cette propriété ne bloque pas le contrôle lors de l’exécution
mais lors de la conception. Il permet d’éviter de modifier les propriétés d’un contrôle.
Modifiers : Cette propriété paramètre la visibilité au niveau programmation de l’objet. Elle peut prendre
les valeurs suivantes :
ValeurValeurValeurValeur DescriptionDescriptionDescriptionDescription
Public Accessible à partir de tous les éléments de la solution
Protected Accessible à partir des membres de la classe et des sous classes
Protected Friend Correspond à l’union des visibilités Friend et Protected
Friend Accessible à partir du programme et des assemblages liés
Private Accessible à partir des membres de la classe
Par défaut, la visibilité est friend .
Size : Cet objet permet de définir la taille du contrôle. Il est composé de deux propriétés, width (largeur) et
height (hauteur).
TabIndex : Indice définissant l’ordre de tabulation du contrôle par rapport à son conteneur.
Text : Cette propriété référence le texte contenu ou affiché dans un contrôle (Par exemple, le texte affiché
sur un bouton).
Visible : Cette propriété détermine si le contrôle est visible lors de l’exécution. Attention, aucun
changement n’est visible lors de la conception.
iiiiiiii.... MéthodesMéthodesMéthodesMéthodes
MéthodeMéthodeMéthodeMéthode DescriptionDescriptionDescriptionDescription
Focus Donne le focus au contrôle
iiiiiiiiiiii.... EvénementsEvénementsEvénementsEvénements
EvénementsEvénementsEvénementsEvénements DescriptionDescriptionDescriptionDescription
Click Activé lors du clic sur le contrôle
DoubleClick Activé lors du double clic sur le contrôle
Enter Activé lorsque l’utilisateur entre sur le contrôle
GotFocus Activé lorsque le contrôle reçoit le focus
KeyDown Touche enfoncée
KeyPress Touche enfoncée et relâchée
KeyUp Touche relâchée
LostFocus Activé lorsque le contrôle perd le focus
MouseDown Bouton souris enfoncé
MouseUp Bouton souris relâché
MouseMove Souris déplacée sur le contrôle
MouseWheel Déplacement de la roulette
Resize Déclenché lorsque le contrôle est redimensionné
Premiers contrôlesPremiers contrôlesPremiers contrôlesPremiers contrôles
Ouvrir donc la boîte à outils, et regardons ça de près. Que trouve-t-on ?
[[[[POO: VB.Net]]]] TDI
FARIH Saïd 9
3333.... La classe FormLa classe FormLa classe FormLa classe Form aaaa.... Présentation et propriétésPrésentation et propriétésPrésentation et propriétésPrésentation et propriétés particulièresparticulièresparticulièresparticulières La classe Form (qu'on appelle également le formulaire), issue de la classe Windows.Form , est l'élément de
base, obligé et fondamental, de toute application VB pour Windows. C'est sur une Form, et uniquement sur une
Form, qu’on pourra éventuellement poser d'autres contrôles. Et même si on peut à la rigueur la rendre invisible, de
toute façon, elle est quand même là. C'est également dans la Form que seront rassemblées toutes les procédures
événementielles liées aux contrôles qu’on aura créés sur cette Form.
On peut d'entrée noter plusieurs propriétés de la classe Windows.Form (donc de tous les objets Form créés à
partir de cette classe), propriétés qu’on retrouvera dans la totalité des autres contrôles proposés par VB :
Name : il s'agit du nom de l'objetnom de l'objetnom de l'objetnom de l'objet, exactement comme une variable porte un nom de variable. La valeur de
cette propriété n'est donc pas visible à l'écran : il s'agit d'un nom qui sert uniquement dans le codeuniquement dans le codeuniquement dans le codeuniquement dans le code, pour
désigner l'objet en question.
Text : une autre propriété quasi-universelle des contrôles est le texte qui leur est associé à l'écranle texte qui leur est associé à l'écranle texte qui leur est associé à l'écranle texte qui leur est associé à l'écran. Pour une
Form, il s'agira du texte qui figure en haut, dans la barre de titre. Pour un bouton, ce sera le texte écrit dessus,
pour une case, le texte qui figure juste à côté, etc. À l'inverse de la propriété Name, Text ne joue aucun rôle
du point de vue du code, et un rôle essentiel du point de vue de l'interface.
Size : Il s'agit évidemment de la taille, autre propriété partagée par la presque totalité des contrôles. Il faut
remarquer que la propriété Size est d'un type particulier, le type est d'un type particulier, le type est d'un type particulier, le type est d'un type particulier, le type Size , qui est un type structuré composé qui est un type structuré composé qui est un type structuré composé qui est un type structuré composé
de deux de deux de deux de deux Integer ....
Pour modifier sa valeur par du code: il faut utiliser une variable de type Size déjà existante, ou, le plus
souvent, la créer à la volée par le constructeur New. Pour fixer par exemple la taille de la Form à 500 pixels sur 300, et
sachant que la manière la plus simple de désigner la Form dans une des procédures qui lui sont liées est d'employer le
mot Me, on pourra écrire : Me.Size = New Size(500, 300)
Sachant qu'il y a moyen de contourner l'obstacle, puisque plutôt d'utiliser ce type Size structuré, on peut
découvrir qu’on a directement accès à deux autres propriétés, Height et Width , beaucoup plus maniables car de
type Integer . Ainsi, la ligne ci-dessus pourra avantageusement être remplacée par : Me.Width = 500
Me.Height = 300 Visible : cette petite propriété booléenne rend des services inestimables, puisqu'elle permet de masquer
(quand elle vaut False ) n'importe quel contrôle.
D'autres propriétés de la classe Form sont propres à cette classe, et ne se retrouvent pas - ou rarement - dans
d'autres classes.
Il s'agit par exemple de :
Startposition : qui détermine la position de la fenêtre sur l'écran lors du lancement de l'application;
BackgroundImage : qui permet de désigner une image d'arrière-plan pour une Form;
FormBorderStyle : qui détermine le type de bordures utilisé;
ExempleExempleExempleExemple Public Class Form1 Dim clic As Integer = 0 Private Sub Button1_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Size = New Size(500, 300) clic = clic + 1 Me.Text = "Nombre de clics : " & clic End Sub End Class
Côté événements, les Form sont capables d'en recevoir - autrement dit, d'en gérer - un certain nombre. Parmi
ceux-ci, les plus importants, pour commencer, sont sans doute Load et Activate .
[[[[POO: VB.Net]]]]
10
DéfinitionsDéfinitionsDéfinitionsDéfinitions
L'événement Activate correspond au fait que la
correspond au chargement de la fenêtre en mémoire vive.
Dans le cas d'une application qui ne compte qu'une seule
l'unique Form se charge au lancement de l'application, devenant p
sans discontinuer jusqu'à la fin de cette application.
Mais dès qu'une application compte plusieurs
en effet être chargées au lancement de l'
active. Par la suite, chaque fois que l'utilisateur passera d'une
Activate pour la Form sur laquelle il vient d'atterrir.
Les événements Activate et Load
là, avant que l'utilisateur ait eu le temps de faire quoi que ce soit, qu'on remet les compteurs à zéro, qu'on remet les
cases et les zones de saisie à blanc (ou qu'on y réécrit les valeurs par défaut), etc.
bbbb.... propriétéspropriétéspropriétéspropriétés particulièresparticulièresparticulièresparticulières AcceptButton
Lorsque l’utilisateur appuie sur la touche entrée, la méthode liée à l’événement «
d’acceptation sera automatiquement déclenché. Généralement, c’est le bo
paramétré comme AcceptButton .
AllowDrop: Spécifie si le formulaire gère le
AutoScale: Si cette option est activée, la taille des contrôles et du formulaire sont automatiquement
redimensionnés lors d’un changement dynamique de la police d’écran.
AutoScroll: C’est une nouveauté de la version .Net
de défilement lorsque la taille du formulaire ne permet pas l’affichage de tous les contrôles q
Avec AutoScroll
BackColor: La propriété backColor
BackgroundImage: Il est possible de définir une image comme fond pour le formulaire. L’image sera
automatiquement répétée en mosaïque
CancelButton: Le bouton d’annulation réalise l’opération inverse du bouton d’acceptation. Il permet
déclencher l’événement « click
ControlBox: La propriété ControlBox
du formulaire :
Le menu système peut également être modifié avec les propriétés «
« HelpButton ».
FARIH Saïd
correspond au fait que la Form spécifiée devient la fenêtr
correspond au chargement de la fenêtre en mémoire vive.
Dans le cas d'une application qui ne compte qu'une seule Form, les deux événements se confondent. En effet,
se charge au lancement de l'application, devenant par la même occasion la Form active, et le restant
sans discontinuer jusqu'à la fin de cette application.
Mais dès qu'une application compte plusieurs Form, les choses se passent tout autrement. Toutes les Form vont
en effet être chargées au lancement de l'application (déclenchant ainsi les événements
active. Par la suite, chaque fois que l'utilisateur passera d'une Form à l'autre, il redéclenchera l'événement
sur laquelle il vient d'atterrir.
Load se prêtent particulièrement bien à des instructions d'initialisation : c'est
là, avant que l'utilisateur ait eu le temps de faire quoi que ce soit, qu'on remet les compteurs à zéro, qu'on remet les
u'on y réécrit les valeurs par défaut), etc.
Lorsque l’utilisateur appuie sur la touche entrée, la méthode liée à l’événement «
d’acceptation sera automatiquement déclenché. Généralement, c’est le bouton « ok
Spécifie si le formulaire gère le Drag and Drop (Glisser déposé).
Si cette option est activée, la taille des contrôles et du formulaire sont automatiquement
onnés lors d’un changement dynamique de la police d’écran.
est une nouveauté de la version .Net : elle permet de placer automatiquement des barres
de défilement lorsque la taille du formulaire ne permet pas l’affichage de tous les contrôles q
Avec AutoScroll Sans AutoScroll
backColor définit la couleur de fond du formulaire.
Il est possible de définir une image comme fond pour le formulaire. L’image sera
saïque.
Le bouton d’annulation réalise l’opération inverse du bouton d’acceptation. Il permet
click » d’un bouton du formulaire lorsque l’utilisateur appuie sur touche escape.
ControlBox définit si le menu système apparaît au niveau de la barre de titre
Le menu système peut également être modifié avec les propriétés « MinimizeBox
TDI
FARIH Saïd
spécifiée devient la fenêtre active. L'événement Load
, les deux événements se confondent. En effet,
ar la même occasion la Form active, et le restant
, les choses se passent tout autrement. Toutes les Form vont
application (déclenchant ainsi les événements Load ). Mais une seule sera
à l'autre, il redéclenchera l'événement
se prêtent particulièrement bien à des instructions d'initialisation : c'est
là, avant que l'utilisateur ait eu le temps de faire quoi que ce soit, qu'on remet les compteurs à zéro, qu'on remet les
Lorsque l’utilisateur appuie sur la touche entrée, la méthode liée à l’événement « click » du bouton
ok » ou « sauvegardé » qui est
(Glisser déposé).
Si cette option est activée, la taille des contrôles et du formulaire sont automatiquement
: elle permet de placer automatiquement des barres
de défilement lorsque la taille du formulaire ne permet pas l’affichage de tous les contrôles qu’il contient.
définit la couleur de fond du formulaire.
Il est possible de définir une image comme fond pour le formulaire. L’image sera
Le bouton d’annulation réalise l’opération inverse du bouton d’acceptation. Il permet
» d’un bouton du formulaire lorsque l’utilisateur appuie sur touche escape.
it si le menu système apparaît au niveau de la barre de titre
MinimizeBox », « MaximizeBox » et
[[[[POO: VB.Net]]]] TDI
FARIH Saïd 11
Cursor: Définit l’apparence par défaut du curseur sur le formulaire. Cette option peut également être
paramétrée au niveau des contrôles.
Les différentes valeurs sont disponibles dans la classe « System.Windows.Forms.Cursors »
Enabled: Définit si le formulaire est disponible (True ) ou non (False ). Dans ce dernier cas, aucun des
contrôles et menus des formulaires ne seront accessibles (grisés).
Font: Cette propriété définit les paramètres de formatage du texte. Cette propriété sera automatiquement
appliquée par défaut au texte des différents contrôles. Cette propriété est elle même décomposée en plusieurs
autres propriétés :
PropriétéPropriétéPropriétéPropriété DescriptionDescriptionDescriptionDescription ExempleExempleExempleExemple Name Nom de la police utilisée Garamond
Size Taille de la police 12.5
Unit Unité de mesure pour la police (Sachez que la plupart des logiciels utilisent l’unité « point ») Point
Bold Texte en gras True
GdiXXXX Paramètres sur le jeu de caractère utilisé
Italic Texte en italique True
Strikeout Texte barré False
Underline Texte souligné True
ForeColor: Couleur d’affichage par défaut pour les textes et graphismes du formulaire.
FormBorderStyle: Style de bordure du formulaire :
ValeurValeurValeurValeur ApparenceApparenceApparenceApparence DimensionnableDimensionnableDimensionnableDimensionnable ValeurValeurValeurValeur ApparenceApparenceApparenceApparence DimensionnableDimensionnableDimensionnableDimensionnable
None
Non FixedSingle
Non
FixedDialog
Non Sizable
Oui
Fixed3d
Non SizableToolWindow
Oui
FixeToolWindow
Non
HelpButton: Affiche le bouton d’aide à gauche de la barre de titre. Attention, le bouton ne sera pas
affiché si les boutons min et max sont activés.
[[[[POO: VB.Net]]]]
12
Pour déclencher un bloc d’instruction lorsque l’utilisateur demande l’aide (Soit à partir de la touche F1, soit à
partir du bouton d’aide, on doit créer une méthode implémentant l’événementPrivate Sub nom_méthode( ByVal sender System.Windows.Forms.HelpEventArgs) End Sub
Le code suivant permet d’afficher une boite de dialogue lorsque l’utilisateur demande l’aide sur le champ texte
« text1 » qui doit être déclaré avec le mot clé « Private Sub textBox_HelpRequested(System.Windows.Forms.HelpEventArgs) 'conver ti le paramètre passé en control Dim requestingControl As 'affiche le nom du controle MsgBox( CStr (requestingControl.name)) 'valide la gestion de l’événement hlpevent.Handled = True End Sub
L’objet « sender » passé en paramètre référence l’objet à l’origine de la demande d’aide.
Icon: Définit l’icône liée au formulaire
IsMDIContainer: Détermine si le formulaire est
contenir d’autres fenêtres.
Dans le cas d’un formulaire MDI,
code suivant permet l’affichage d’un formul
sont les formulaires enfant. Il faut également paramétrer l’option « Private Sub Form2_Load( ByValHandles MyBase.Load Dim f1 As New Form1 Dim f2 As New Form3 f1.MdiParent = Me f1.Show() f2.MdiParent = Me f2.Show()
End Sub Location: Cette objet défini la position du formulaire
par rapport à son conteneur (c’est à dire l’écran ou le
formulaire parent dans le cas d’application MDI). Deux
propriétés permettent de définir la position
� X : distance entre le bord gauche du conteneur et le
bord gauche du formulaire
� Y : distance entre le haut du contene
formulaire FARIH Saïd
Pour déclencher un bloc d’instruction lorsque l’utilisateur demande l’aide (Soit à partir de la touche F1, soit à
créer une méthode implémentant l’événement : sender As Object , ByVal hlpevent As
System.Windows.Forms.HelpEventArgs) Handles objet.HelpRequested
Le code suivant permet d’afficher une boite de dialogue lorsque l’utilisateur demande l’aide sur le champ texte
t être déclaré avec le mot clé « WithEvents ». La procédure suivante implémente l’événementtextBox_HelpRequested( ByVal sender As Object , ByVal
System.Windows.Forms.HelpEventArgs) Handles TextBox1.HelpRequested ti le paramètre passé en control
As Control = CType(sender, Control) 'affiche le nom du controle
(requestingControl.name)) 'valide la gestion de l’événement
» passé en paramètre référence l’objet à l’origine de la demande d’aide.
Définit l’icône liée au formulaire : cette dernière apparaît dans la barre de titre.
Détermine si le formulaire est un conteneur MDI, c’est à dire s’il est capable de
Dans le cas d’un formulaire MDI, on doit spécifier le code afin d’afficher d’autres formulaires à l’intérieur. Le
code suivant permet l’affichage d’un formulaire fils : dans cet exemple, Form2 est le formulaire MDI, Form1 et Form3
sont les formulaires enfant. Il faut également paramétrer l’option « IsMdiContainer ByVal sender As System.Object, ByVal e As
Cette objet défini la position du formulaire
conteneur (c’est à dire l’écran ou le
formulaire parent dans le cas d’application MDI). Deux
propriétés permettent de définir la position :
: distance entre le bord gauche du conteneur et le
: distance entre le haut du conteneur et le haut du
XXXX
TDI
FARIH Saïd
Pour déclencher un bloc d’instruction lorsque l’utilisateur demande l’aide (Soit à partir de la touche F1, soit à
Le code suivant permet d’afficher une boite de dialogue lorsque l’utilisateur demande l’aide sur le champ texte
». La procédure suivante implémente l’événement : hlpevent As
» passé en paramètre référence l’objet à l’origine de la demande d’aide.
: cette dernière apparaît dans la barre de titre.
un conteneur MDI, c’est à dire s’il est capable de
spécifier le code afin d’afficher d’autres formulaires à l’intérieur. Le
: dans cet exemple, Form2 est le formulaire MDI, Form1 et Form3
» du Form2 à True . As System.EventArgs)
YYYY
[[[[POO: VB.Net]]]]
13
Locked: Détermine si le formulaire est verrouillé ou non
mais elle ne grise pas l’apparence du formulaire.
MinimizeBox, MaximizeBox
affichage empêchera l’affichage du bouton d’aide.
MinimumSize, MaximumSize
formulaire. Cet objet est généralement utilisé pour éviter que l’utili
plus avoir accès aux contrôles. Pour chaque objet, deux
height (hauteur).
Opacity: Définit un pourcentage d’opacité pour la fenêtre. Une valeur de 100% rend la fenêtr
ShowInTaskBar: Détermine si un nouveau bouton est ajouté dans la barre des tâches lorsque la fenêtre
est ouverte :
Size: Cet objet définit la taille du formulaire à l’aide de deux propriétés
(hauteur).
Startposition: Définit la position de départ lorsque la fenêtre est ouverte
ValeurValeurValeurValeur DescriptionDescriptionDescriptionDescription
Manual Position définie par la propriété location
CenterScreen Centré par rapport à l’écran
WindowsDefaultlocation Situé à l’emplacement par défaut de
WindowsDefaultBounds Situé à l’emplacement par défaut de Windows et possède la taille par défaut de Windows
Centerparent Centré par rapport à la fenêtre ayant déclenché l’ouverture.
Text: Détermine le texte affiché dans la barre de titre
FARIH Saïd
Détermine si le formulaire est verrouillé ou non : cette propriété est identique à «
mais elle ne grise pas l’apparence du formulaire.
MinimizeBox, MaximizeBox : Détermine si les boutons « Agrandir » et «
affichage empêchera l’affichage du bouton d’aide.
MinimumSize, MaximumSize : Cet objet définit la taille minimale et maximale que peut avoir le
formulaire. Cet objet est généralement utilisé pour éviter que l’utilisateur réduise la fenêtre au point de ne
plus avoir accès aux contrôles. Pour chaque objet, deux propriétés sont disponibles
Définit un pourcentage d’opacité pour la fenêtre. Une valeur de 100% rend la fenêtr
(Exemple avecDétermine si un nouveau bouton est ajouté dans la barre des tâches lorsque la fenêtre
Cet objet définit la taille du formulaire à l’aide de deux propriétés :
Définit la position de départ lorsque la fenêtre est ouverte
DescriptionDescriptionDescriptionDescription
Position définie par la propriété location
Centré par rapport à l’écran
Situé à l’emplacement par défaut de Windows et possède la taille définie dans size
Situé à l’emplacement par défaut de Windows et possède la taille par défaut de
Centré par rapport à la fenêtre ayant déclenché l’ouverture.
e affiché dans la barre de titre
TDI
FARIH Saïd
: cette propriété est identique à « enabled »
» et « Réduire » sont visibles. Leur
Cet objet définit la taille minimale et maximale que peut avoir le
sateur réduise la fenêtre au point de ne
sont disponibles : width (largeur) et
Définit un pourcentage d’opacité pour la fenêtre. Une valeur de 100% rend la fenêtre opaque.
(Exemple avec50%) Détermine si un nouveau bouton est ajouté dans la barre des tâches lorsque la fenêtre
: width (largeur) et height
:
Windows et possède la taille définie dans size
Situé à l’emplacement par défaut de Windows et possède la taille par défaut de
Centré par rapport à la fenêtre ayant déclenché l’ouverture.
[[[[POO: VB.Net]]]]
14
TopMost: Si cette option est activée (
formulaires, même s’il n’est pas activé. Cette option se prête particulièrement bien pour les boîtes à outils qui
doivent toujours rester accessibles.
TransparencyKey: Du meilleur effet, cette propriété définit la couleur de transparence du formulaire
on spécifie la couleur jaune en tant que
transparentes :
WindowState: Détermine l’état du formulaire lors de l’ouverture
ValeurValeurValeurValeur DescriptionDescriptionDescriptionDescription
Normal Le formulaire apparaît avec sa taille standard
Minimize Le formulaire est réduit lors de l’ouverture
Maximize Le formulaire est en plein écran lors de l’ouvertu
ShowDialog: Affiche le formulaire en tant que feuille modale, c’est à dire qu’au niveau de l’application, la
fenêtre restera au premier plan tant qu’elle n’est pas fermée.
cccc.... EvénementsEvénementsEvénementsEvénements Les événements correspondent au cycle de vie de l’objet formulaire. I
New: L’objet formulaire est en cours de création
Load: Le formulaire ainsi que ses composants sont chargés mais il n’est pas visible.
Paint: Se produit lorsque le formulaire est redessiné. Cet événement peut appar
exemple au démarrage et lorsque le formulaire réapparait devant un autre.
Activated: Le formulaire récupère le focus.
Deactivate: Le formulaire perd le focus
Closing: Le formulaire est en cours de fermeture, les différents élémen
formulaire est cependant encore visible.
Closed: Le formulaire est fermé et maintenant invisible.
Dispose: L’objet formulaire est détruit.
Resize: Cet événement survient lorsque le formulaire est redimensionné. Généralemen
modifier la taille des contrôles le composant.
Click: L’utilisateur clique sur le fond du formulaire
DoubleClick: L’utilisateur double clique sur le fond du formulaire
4444.... Fonctions d'interfaceFonctions d'interfaceFonctions d'interfaceFonctions d'interface On va à présent découvrir deux nouvelles fonctions,
(procéduraux), car elles sont directement liées au fait que
aaaa.... Les boîtes de dialogueLes boîtes de dialogueLes boîtes de dialogueLes boîtes de dialogue Les boîtes de dialogue intégrées sont des feuilles modales (c’es
programme jusqu’à leur fermeture) destinées à afficher une information ou demander une saisie.
iiii.... Boite de messageBoite de messageBoite de messageBoite de message
La boîte de message (MsgBox) permet l’affichage d’une information et donne la possibilité de configu
boutons, le titre et l’icône associée. MessageBox.Show(prompt, titre, type_boutons, icône, bouton_par_defaut)
FARIH Saïd
Si cette option est activée (true ) le formulaire sera toujours au dessus de tous les autres
formulaires, même s’il n’est pas activé. Cette option se prête particulièrement bien pour les boîtes à outils qui
t toujours rester accessibles.
Du meilleur effet, cette propriété définit la couleur de transparence du formulaire
la couleur jaune en tant que TransparencyKey , toutes les zones du formulaire jaune seront
Détermine l’état du formulaire lors de l’ouverture :
DescriptionDescriptionDescriptionDescription
Le formulaire apparaît avec sa taille standard
Le formulaire est réduit lors de l’ouverture
Le formulaire est en plein écran lors de l’ouvertu
Affiche le formulaire en tant que feuille modale, c’est à dire qu’au niveau de l’application, la
fenêtre restera au premier plan tant qu’elle n’est pas fermée.
Les événements correspondent au cycle de vie de l’objet formulaire. Ils sont listés dans l’ordre chronologique.
L’objet formulaire est en cours de création
Le formulaire ainsi que ses composants sont chargés mais il n’est pas visible.
Se produit lorsque le formulaire est redessiné. Cet événement peut appar
exemple au démarrage et lorsque le formulaire réapparait devant un autre.
Le formulaire récupère le focus.
Le formulaire perd le focus
Le formulaire est en cours de fermeture, les différents éléments le composant sont détruits. Le
formulaire est cependant encore visible.
Le formulaire est fermé et maintenant invisible.
L’objet formulaire est détruit.
Cet événement survient lorsque le formulaire est redimensionné. Généralemen
modifier la taille des contrôles le composant.
L’utilisateur clique sur le fond du formulaire
L’utilisateur double clique sur le fond du formulaire
à présent découvrir deux nouvelles fonctions, qui n'ont aucun équivalent dans les langages traditionnels
(procéduraux), car elles sont directement liées au fait que VB soit un langage basé sur l'interface Windows.
Les boîtes de dialogue intégrées sont des feuilles modales (c’est à dire qu’elles suspendent l’exécution du
programme jusqu’à leur fermeture) destinées à afficher une information ou demander une saisie.
La boîte de message (MsgBox) permet l’affichage d’une information et donne la possibilité de configu
MessageBox.Show(prompt, titre, type_boutons, icône, bouton_par_defaut)
TDI
FARIH Saïd
) le formulaire sera toujours au dessus de tous les autres
formulaires, même s’il n’est pas activé. Cette option se prête particulièrement bien pour les boîtes à outils qui
Du meilleur effet, cette propriété définit la couleur de transparence du formulaire : si
, toutes les zones du formulaire jaune seront
Le formulaire est en plein écran lors de l’ouverture
Affiche le formulaire en tant que feuille modale, c’est à dire qu’au niveau de l’application, la
ls sont listés dans l’ordre chronologique.
Le formulaire ainsi que ses composants sont chargés mais il n’est pas visible.
Se produit lorsque le formulaire est redessiné. Cet événement peut apparaître plusieurs fois : par
ts le composant sont détruits. Le
Cet événement survient lorsque le formulaire est redimensionné. Généralement utilisé pour
qui n'ont aucun équivalent dans les langages traditionnels
soit un langage basé sur l'interface Windows.
t à dire qu’elles suspendent l’exécution du
programme jusqu’à leur fermeture) destinées à afficher une information ou demander une saisie.
La boîte de message (MsgBox) permet l’affichage d’une information et donne la possibilité de configurer les
MessageBox.Show(prompt, titre, type_boutons, icône, bouton_par_defaut)
[[[[POO: VB.Net]]]] TDI
FARIH Saïd 15
Types de bouton
Constantes de Retour La définition du type de boutons modifie l’affichage mais permet à la méthode .Show de retourner une valeur correspondant au bouton sélectionner par l’utilisateur.
Types de bouton (membres de la classe Types de bouton (membres de la classe Types de bouton (membres de la classe Types de bouton (membres de la classe MMMMessageBoxButtons)essageBoxButtons)essageBoxButtons)essageBoxButtons)
ConstanteConstanteConstanteConstante DescriptionDescriptionDescriptionDescription Ok Bouton Ok Seulement
OkCancel Boutons Ok et bouton annulé
AbortRetryIgnore Boutons Abandonner, Réessayer, Ignorer
YesNoCancel Boutons Oui, Non et Annuler YesNo Boutons Oui et Non RetryCancel Boutons Réessayer et Annuler
Constantes de retour (membres de la classe DialogResult)Constantes de retour (membres de la classe DialogResult)Constantes de retour (membres de la classe DialogResult)Constantes de retour (membres de la classe DialogResult)
ConstanteConstanteConstanteConstante DescriptionDescriptionDescriptionDescription Ok Bouton Ok Cancel Bouton Annuler Abort Bouton Abandonner Retry Bouton Réessayer Ignore Bouton Ignorer Yes Bouton Oui No Bouton Non
Le rôle de cet argument est double : il doit indiquer d'une part quel est le jeu de boutons souhaité, parmi les six
disponibles ("Abandonner, Réessayer, IgnorerAbandonner, Réessayer, IgnorerAbandonner, Réessayer, IgnorerAbandonner, Réessayer, Ignorer", "OKOKOKOK", "OK, AnnulerOK, AnnulerOK, AnnulerOK, Annuler", "Réessayer, AnnulerRéessayer, AnnulerRéessayer, AnnulerRéessayer, Annuler", "Oui, NonOui, NonOui, NonOui, Non", "Oui, Non, Oui, Non, Oui, Non, Oui, Non,
AnnulerAnnulerAnnulerAnnuler"). Il doit également stipuler quelle illustration viendra éventuellement égayer votre boîte à messages, parmi
les quatre possibles (Critical , Exclamation , Information , Question ).
En fait, l'argument attendu est de type Integer . Et chacune des possibilités de boutons et d'illustrations
énumérées ci-dessus est associée par VB à une valeur entière. Dès lors, pour choisir tel jeu de bouton, il suffit d'entrer
comme argument l'entier correspondant. Et pour associer tel jeu de bouton à telle illustration, il suffira d'additionner
les deux valeurs correspondantes.
Là où ça devient intéressant, c'est qu'on n'est pas obligé de spécifier l'argument sous la forme d'un nombre
entier. Cet entier peut donc être écrit sous une forme, celle d'une constante VBconstante VBconstante VBconstante VB.
Type d’icône
Bouton par défaut
L’option bouton par défaut permet de définir le bouton
qui sera sélectionné par défaut.
Types d’icône (membres de la classe MessageBoxIcon)Types d’icône (membres de la classe MessageBoxIcon)Types d’icône (membres de la classe MessageBoxIcon)Types d’icône (membres de la classe MessageBoxIcon)
ConstanteConstanteConstanteConstante AperçuAperçuAperçuAperçu
Error
Exclamation
Information
Question
Bouton par défaut Bouton par défaut Bouton par défaut Bouton par défaut (Membres de la classe MessageBoxDefaultButton)(Membres de la classe MessageBoxDefaultButton)(Membres de la classe MessageBoxDefaultButton)(Membres de la classe MessageBoxDefaultButton) Constante DescriptionDescriptionDescriptionDescription DefaultButton1 Premier bouton DefaultButton2 Second bouton DefaultButton3 Troisième bouton
ExempleExempleExempleExemple 1111
Icône
Prompt
Type boutons
Titre
[[[[POO: VB.Net]]]] TDI
FARIH Saïd 16
MessageBox.Show( "Le total de la commande s'élève à 1000 Dhs" , "Résultat" , MessageBoxButtons.OK, MessageBoxIcon.Information, M essageBoxDefaultButton.Button1) If MessageBox.Show( "Continuer ?" , "Confirmation" , MessageBoxButtons.YesNo) = DialogResult.Yes Then MessageBox.Show( "On a choisi Oui " ) Else MessageBox.Show( "On a choisi Non " ) End If
ExempleExempleExempleExemple 2222 Public Class Form1 Private Sub Button1_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click 'En récupérant le texte écrit sur le bouton, on peu t n'écrire qu'une seule procédure Dim i, j As Integer Me.Visible = False ' on utilise donc la propriété text du paramètre se nder i = MsgBox( "On a choisi " & sender.text, vbInformation + vbOKOnly, "Excellent choix" ) j = MsgBox( "Désirez-on choisir à nouveau ?" , vbQuestion + vbYesNo, "Rejouer ?" ) If j = vbYes Then Me.Visible = True Else End End If End Sub End Class iiiiiiii.... Boîte de saisieBoîte de saisieBoîte de saisieBoîte de saisie
La boîte de saisie (InputBox ) permet la saisie d’une chaîne de caractère par l’utilisateur. Il est possible de
paramétrer le titre, le texte affiché ainsi que le texte saisi par défaut.
InputBox est une fonction, elle retourne la valeur saisie par l’utilisateur où chaîne vide si le bouton Annuler
est utilisé. La valeur retournée est toujours de type String . Les éventuels contrôle de saisie devront être fait par le
programme une fois la valeur retournée. Dim reponse As String = InputBox( "le pays le plus beau du monde??" , "Question pour un champion" , "Ma..." )
Il s'agit d'une fonction, dont les deux arguments de type String correspondent respectivement à l'invite ("le pays le plus beau du monde?") et au titre ("Question pour un champion") de la boîte de saisie. Cette fonction renverra toujours une valeur de type String . Pour obtenir le résultat ci-dessus, on aura donc écrit un code du genre : Dim a, b, rep As String a = " le pays le plus beau du monde??" b = "Question pour un champion"
Rep = InputBox(a, b)
Ce code attendra que le bouton OKOKOKOK (ou AnnulerAnnulerAnnulerAnnuler) soit cliqué, et stockera alors le contenu de la zone de saisie
dans la variable RepRepRepRep.
ExerciceExerciceExerciceExercice
Ecrire un petit programme invitant l'utilisateur à répondre correctement à la question posée, sinon il doit
réessayer jusqu'obtention de la réponse voulue.
SolutionSolutionSolutionSolution Dim a, rep As String a = "maroc" rep = "" While (rep <> a)
Titre
Message
Valeur par défaut
[[[[POO: VB.Net]]]] TDI
FARIH Saïd 17
rep = InputBox( "le pays le plus beau du monde??" , "Question pour un champion" , "Ma..." ) End While Toujours est-il que la boîte de message figurant plus haut peut ainsi être programmée comme : a = "Jeu terminé. Veut-on continuer ?"
b = "Dernière vérification" rep = MsgBox(a, 3 + 32, b)
Ce qui n'est pas très explicite. Mais on peut tout aussi bien - et même mieux - écrire : a = " Jeu terminé. Veut-on continuer ?" b = "Dernière vérification"
rep = MsgBox(a, MsgBoxStyle.YesNoCancel + MsgBo xStyle.Question, b)
En fait, pour désigner exactement les mêmes valeurs Integer , on dispose :
d'une part des noms généraux du Framework .NET (ce sont les membres des énumérationsmembres des énumérationsmembres des énumérationsmembres des énumérations)
d'autre part des noms propres à VB (ce sont les constantes constantes constantes constantes VBVBVBVB).
Résultat des courses, on peut tout aussi bien employer les les uns que les autres, et écrire : a = " Jeu terminé. Veut-on continuer ?" b = "Dernière vérification"
rep = MsgBox(a, vbYesNoCancel + vbQuestion, b)
Passons maintenant au résultat de la fonction Msgbox . Quelle valeur celle-ci renvoie-t-elle ? Le résultat d'une Le résultat d'une Le résultat d'une Le résultat d'une
fonction fonction fonction fonction Msgbox , c'est le bouton sur lequel l'utilisateur a appuyé pour la faire disparaître, c'est le bouton sur lequel l'utilisateur a appuyé pour la faire disparaître, c'est le bouton sur lequel l'utilisateur a appuyé pour la faire disparaître, c'est le bouton sur lequel l'utilisateur a appuyé pour la faire disparaître. Et c'est ce résultat qui sera
stocké dans la variable RepRepRepRep.
Sous quelle forme ce résultat s'exprime-t-il ? Sous la triple forme d'un entier correspondant au bouton en
question, d'une constante constante constante constante VBVBVBVB correspondant à cet entier, ou du membre de l'énumérationmembre de l'énumérationmembre de l'énumérationmembre de l'énumération .NET correspondant tout à
la fois à l'Integer et à la constante VB.
Un petit coup d'œil sur l'aide apprend ainsi que le clic sur le bouton OK correspond au renvoi par MsgBox de la
valeur 1, autrement dit du membre MsgBoxResult.OK ou de la constante VB vbOK. De même, le clic sur le
bouton Annuler correspond au renvoi par MsgBox de la valeur 2, autrement dit du membre
MsgboxResult.Cancel ou de la constante VB vbCancel .
bbbb.... BBBBoîtes de dialogue communesoîtes de dialogue communesoîtes de dialogue communesoîtes de dialogue communes On aura sans doute remarqué que sous Windows, quel que soit le logiciel utilisé, ou presque, certaines
commandes possèdent des airs de famille. Par exemple, lorsqu’on faites Fichier Fichier Fichier Fichier //// OuvrirOuvrirOuvrirOuvrir, Fichier Fichier Fichier Fichier ////EnregistrerEnregistrerEnregistrerEnregistrer, FichierFichierFichierFichier////
ImprimerImprimerImprimerImprimer, et quelques autres encore, non seulement les fonctionnalités proposées sont les mêmes, mais encore la
présentation de la boîte de dialogue est rigoureusement identique d'une application à l'autre,
Lorsqu’on devra insérer une de ces "boîtes de dialogues" dans l’application, nul besoin de la programmer :
Windows, via Visual Studio, offre la possibilité d'utiliser directement son code, au travers d'une série de classes:
OpenFileDialog : correspond à la boîte de dialogue Fichier - Ouvrir
SaveFileDialog : correspond aux boîtes de dialogue Fichier - Enregistrer et Fichier - Enregistrer Sous
FolderBrowserDialog : correspond à un explorateur de répertoires (qui repère automatiquement la
structure des répertoires de la machine sur laquelle tourne l'application)
FontDialog : correspond à la boîte de dialogue Police
ColorDialog : correspond à une boîte de dialogue donnant accès aux couleurs personnalisées
PrintDialog : correspond à la boîte de dialogue Fichier - Imprimer
PrintPreviewDialog : correspond à la boîte de dialogue Fichier - Aperçu avant impression
PrintPreviewControl : zone permettant d'afficher un Aperçu avant impression
PrintDocument : correspond à la boîte de dialogue Fichier - Imprimer
PageSetupDialog : correspond à la boîte de dialogue Fichier - Mise en page
Tous ces contrôles, hormis PrintPreviewControl , ne se positionnent pas sur la Form, mais en-dehors.
Pour les déclencher, il suffit d'utiliser dans le code la méthode ShowDialog . Naturellement, il est possible de
paramétrer ces boîtes de dialogue via leurs propriétés, et d'en récupérer les résultats, toujours via leurs propriétés.Si
[[[[POO: VB.Net]]]]
18
on observe les différentes applications tournant sous
boîtes de dialogue standard (Enregistrer, Ouvrir Imprimer …).
iiii.... OuvertureOuvertureOuvertureOuverture
La boîte de dialogue d’ouverture permet la sélection d’un ou plusieurs fichiers physiques. La classe
« OpenFileDialog » permet la gestion de cette boîte de
OuvertureOuvertureOuvertureOuverture
PropriétéPropriétéPropriétéPropriété DescriptionDescriptionDescriptionDescription
AddExtension Booléen indiquant si l’extension par défaut doit être automatiquement ajoutée à la fin du fichier lors de l’enregistrement
CheckFileExist Vérifie l’existence du fichi
CheckPathExist Vérifie si le chemin fourni par l’utilistaeur valide
DefaultExt Extension par défaut
FileName Chemin du fichier sélectionné
FileNames Chemin des fichiers sélectionnés
Filter Extension des fichiers acceptés
InitialDirectory Dossier initial de recherche
MultiSelect Permet la sélection de plusieurs fichiers
Title Titre de la boîte
MéthodeMéthodeMéthodeMéthode DescriptionDescriptionDescriptionDescription
ShowDialog Affiche la fenêtre
Le code suivant paramètre la boîte de dialogue en acceptant uniquement les fichiers images (gif ou jpg). La
sélection multiple est autorisée et la liste des Private Sub Form1_Load( ByValHandles MyBase.Load Dim dlg As OpenFileDialog dlg = New OpenFileDialog 'paramétrage de la boîte dlg.Title = "Veuillez sélectionner l'image" dlg.DefaultExt = "gif" dlg.Filter = "Image gif|*.gif|Image Jpeg|*.jpg" dlg.Multiselect = True dlg.CheckFileExists = True 'affichage de la boite dlg.ShowDialog() 'affichage des fichiers selectionnés Dim fichier As String For Each fichier In dlg.FileNames MsgBox(fichier)
FARIH Saïd
les différentes applications tournant sous Windows, on s'apercevra qu’elles
trer, Ouvrir Imprimer …).
La boîte de dialogue d’ouverture permet la sélection d’un ou plusieurs fichiers physiques. La classe
» permet la gestion de cette boîte de dialogue.
EnregistrementEnregistrementEnregistrementEnregistrement
Booléen indiquant si l’extension par défaut doit être automatiquement ajoutée à la fin du fichier lors de l’enregistrement
Vérifie l’existence du fichier
si le chemin fourni par l’utilistaeur valide
Extension par défaut ajoutée lorsqu’on tape un nom de fichier
Chemin du fichier sélectionné
Chemin des fichiers sélectionnés
Extension des fichiers acceptés
de recherche
Permet la sélection de plusieurs fichiers
Le code suivant paramètre la boîte de dialogue en acceptant uniquement les fichiers images (gif ou jpg). La
sélection multiple est autorisée et la liste des fichiers est affichée à la fin: ByVal sender As System.Object, ByVal e As
OpenFileDialog OpenFileDialog
'paramétrage de la boîte "Veuillez sélectionner l'image"
"Image gif|*.gif|Image Jpeg|*.jpg"
True
'affichage des fichiers selectionnés
dlg.FileNames
TDI
FARIH Saïd
qu’elles utilisent toutes les mêmes
La boîte de dialogue d’ouverture permet la sélection d’un ou plusieurs fichiers physiques. La classe
ValeurValeurValeurValeur
Booléen indiquant si l’extension par défaut doit être automatiquement True
True
True
"gif"
"tous|*.*| Fichier texte|*.txt"
"C:\winnt"
True
"Sélection du fichier"
Le code suivant paramètre la boîte de dialogue en acceptant uniquement les fichiers images (gif ou jpg). La
As System.EventArgs)
[[[[POO: VB.Net]]]] TDI
FARIH Saïd 19
Next End Sub
iiiiiiii.... EnregistrementEnregistrementEnregistrementEnregistrement
La boîte de dialogue d’enregistrement est identique à la boîte de dialogue d’ouverture exceptée la propriété
« Méthode » qui disparaît. Pour ouvrir une boîte d’enregistrement, utiliser la classe « SaveFileDialog »: Public Class Form1 Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim dlg As SaveFileDialog dlg = New SaveFileDialog 'paramétrage de la boîte dlg.Title = "Enregistrer le fichier" dlg.DefaultExt = "gif" dlg.Filter = "Image gif|*.gif|Image Jpeg|*.jpg" 'affichage de la boite dlg.ShowDialog() 'affichage des fichiers selectionnés MsgBox( "le fichier sera enregistré dans: " & dlg.FileName) End Sub End Class
iiiiiiiiiiii.... Choix d’une couleurChoix d’une couleurChoix d’une couleurChoix d’une couleur
Cette boîte de dialogue permet à l’utilisateur de choisir une couleur dans un panel. Deux versions de cette boîte
de dialogue existent :
Version « simple » Version « complète »
Dans les deux cas, on doit utiliser la classe « ColorDialog ».
PropriétéPropriétéPropriétéPropriété DescriptionDescriptionDescriptionDescription
Color Définit la couleur par défaut affichée et retourne la couleur sélectionnée par l’utilisateur
Fullopen Booléen définissant si la boîte de dialogue s’affiche en mode complet ou non
SolidColorOnly Booléen n’affichant que les couleurs gérées par la carte graphique
L’exemple suivant affiche une boîte de dialogue et modifie la couleur de fond du formulaire en fonction du
choix de l’utilisateur : Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim c As New ColorDialog c.FullOpen = False c.Color = Me.BackColor c.ShowDialog() Me.BackColor = c.Color
End Sub iviviviv.... Choix d’une policeChoix d’une policeChoix d’une policeChoix d’une police
Cette boîte de dialogue permet la sélection de tous les paramètres concernant le formatage de chaîne de
caractère (police, taille, gras…).
[[[[POO: VB.Net]]]]
20
Pour afficher la boîte de dialogue, utiliser
5555.... Button On retrouve pour les contrôles créés à partir de la classe
dessus pour les Form : Name, bien sûr, mais aussi
Si la classe Button on intéresse, ce n'est pas tant pour ses propriétés que pour sa capacité à gérer un certain
nombre d'événements, à commencer par le plus fréquent d'entre e
procédures déclenchées automatiquement par le clic sur un bouton,
ExerciceExerciceExerciceExercice 1111 Public Class Form1 Private Sub B1_Click( ByVal sender Handles B1.Click If B1.Top = 24 Then B1.Top = 104 Else B1.Top = 24 End If End Sub End Class
Exercice Exercice Exercice Exercice 2222 Public Class Form1 Private Sub Button1_Click( ByValHandles Button1.Click Button1.Visible = False Button2.Visible = True End Sub Private Sub Button2_Click( ByValByVal e As System.EventArgs) Handles Button2.Visible = False Button1.Visible = True End Sub End Class
6666.... Label Le Label correspond à une simple étiquette posée sur une Form (généralement, pour éclairer l'utilisateur sur
tel ou tel point, commenter une image ou une zone, etc.)
différents contrôles.
IlIlIlIl ne s'agit pas de zones de saisie pour l'utilisateurne s'agit pas de zones de saisie pour l'utilisateurne s'agit pas de zones de saisie pour l'utilisateurne s'agit pas de zones de saisie pour l'utilisateur
n'empêche pas le contenu d'un Label
pouvoir recevoir un certain nombre d'événements, dont le
classe Label :
FARIH Saïd
Pour afficher la boîte de dialogue, utiliser la méthode « ShowDialog ».
On retrouve pour les contrôles créés à partir de la classe Button les propriétés générales déjà évoquées ci
, bien sûr, mais aussi Text , Size , Location , Visible et bien d'autres.
intéresse, ce n'est pas tant pour ses propriétés que pour sa capacité à gérer un certain
nombre d'événements, à commencer par le plus fréquent d'entre eux : Click . On
procédures déclenchées automatiquement par le clic sur un bouton,
sender As System.Object, ByVal e As
ByVal sender As System.Object, ByVal
ByVal sender As System.Object, Handles Button2.Click
correspond à une simple étiquette posée sur une Form (généralement, pour éclairer l'utilisateur sur
tel ou tel point, commenter une image ou une zone, etc.) Il est généralement utilisé pour afficher le rôle des
ne s'agit pas de zones de saisie pour l'utilisateurne s'agit pas de zones de saisie pour l'utilisateurne s'agit pas de zones de saisie pour l'utilisateurne s'agit pas de zones de saisie pour l'utilisateur c'est-à-dire qui ne sera pas éditable par l’utilisateur
de pouvoir être modifié par le code en cours d'exécution, ni le
tain nombre d'événements, dont le Click . Signalons toutefois trois propriétés que possède la
PropriétéPropriétéPropriétéPropriété DescriptionDescriptionDescriptionDescription
ShowEffects Booléen spécifiant si l’utilisateur peut définir les effets (gras …)
ShowColor Booléen spécifiant si l’utilisateur peut définir la couleur
MinSize Taille minimale des caractères
MaxSize Taille maximale des caractères
Font Police par défaut et police retournée
Color Couleur par défaut et couleur retournée
TDI
FARIH Saïd
les propriétés générales déjà évoquées ci-
et bien d'autres.
intéresse, ce n'est pas tant pour ses propriétés que pour sa capacité à gérer un certain
On va donc pouvoir gérer des
System.EventArgs)
e As System.EventArgs)
correspond à une simple étiquette posée sur une Form (généralement, pour éclairer l'utilisateur sur
Il est généralement utilisé pour afficher le rôle des
qui ne sera pas éditable par l’utilisateur. Ce qui
de pouvoir être modifié par le code en cours d'exécution, ni le Label de
Signalons toutefois trois propriétés que possède la
DescriptionDescriptionDescriptionDescription
Booléen spécifiant si l’utilisateur peut définir les effets (gras …)
Booléen spécifiant si l’utilisateur peut définir la couleur
Taille minimale des caractères
ille maximale des caractères
Police par défaut et police retournée
Couleur par défaut et couleur retournée