Appliquer Les Regles de Base de La Prog Even
Appliquer Les Regles de Base de La Prog Even
Appliquer Les Regles de Base de La Prog Even
Sommaire
1. L'interface utilisateur..............................................................................5
1.1. Comment créer une fenêtre?..............................................................5
1.2. Comment ajouter un bouton?.............................................................5
1.3. Comment ajouter un label?................................................................5
1.4. Modifier les propriétés de l'objet.........................................................6
1.5. Les propriétés communes des objets .................................................7
1.5.1. Name :......................................................................................7
1.5.2. Text : .......................................................................................7
1.5.3. Enabled : ..................................................................................8
1.5.4. Visible :.....................................................................................8
1.5.5. Font :........................................................................................8
1.5.6. BackColor ForeColor: ..................................................................8
1.5.7. Tag:
..........................................................................................................8
1.6. Evènements liés aux objets................................................................8
1.7. En résumé:....................................................................................10
2. Les Forms............................................................................................11
2.5. Propriétés......................................................................................11
2.5.1. Name :....................................................................................11
2.5.2. Text :......................................................................................11
2.5.3. Icon :......................................................................................11
2.5.4. WindowState :..........................................................................12
2.5.5. ControlBox...............................................................................12
2.5.6. MaximizeBox.............................................................................12
2.5.7. MinimizeBox.............................................................................12
2.5.8. FormBorderStyle.......................................................................12
2.5.9. StartPosition :...........................................................................12
2.5.10. MinSize et MaxSize..................................................................12
2.5.11. Opacity..................................................................................13
2.6. Evènements:..................................................................................14
2.7. Méthodes:......................................................................................14
2.8. System.Windows.Forms.Form...........................................................14
2.9. Formulaire d'avant plan:..................................................................15
3. Les Boutons.........................................................................................15
3.1. Créer un bouton :...........................................................................15
3.2. Modifier ses propriétés:....................................................................16
3.3. Utiliser les évènements:...................................................................16
3.4. Créer un bouton Ok ou Cancel:.........................................................17
3.5. Création d'un bouton par code:.........................................................17
3.6. Couleur transparente dans les images des boutons:.............................17
4. Les TextBox.........................................................................................18
4.1. Les contrôles TextBox......................................................................18
4.2. Le contrôle RichTextBox :.................................................................23
4.2.1. Qu'est ce que RTF?....................................................................23
4.2.2. Les bases du codage RTF............................................................24
5. Les Labels...........................................................................................24
5.1. Les labels.......................................................................................24
5.2. Les LinkLabel..................................................................................26
9. Regroupement de contrôles...................................................................40
9.1. GroupBox et Panel...........................................................................40
9.2. PictureBox......................................................................................41
9.3. TabControl.....................................................................................41
1.L'interface utilisateur.
Elle correspond aux fenêtres et contrôles que voit l'utilisateur.
On a vu que le développeur dessine cette interface en mode conception
(Design) dans l'IDE.
Rappel:
Un bouton apparaît.
Dans le code des procédures les propriétés des objets sont aussi
accessibles.
Button1.Text="OK" permet par exemple de modifier la propriété Text
d'un bouton.
Noter que pour modifier la taille des objets, on peut le faire très
facilement à la souris en cliquant sur les petits carré entourant l'objet et
en tirant les bords. (on peut interdire les modifications de taille et de
position des contrôles par le menu Format puis verrouiller les contrôles
une fois que leurs tailles et positions est bien définies.)
1.5.1. Name :
Microsoft conseille:
1.5.2. Text :
ButtonOk.Text= "Ok"
1.5.3. Enabled :
1.5.4. Visible :
1.5.5. Font :
1.5.7. Tag:
2 exemples:
Détaillons:
Click
DoubleClick
GotFocus
LostFocus
KeyUp
KeyPress
KeyDown
Pour ne pas alourdir les exemples, nous écrivons souvent une version
Simplifiée de l'en-tête de la procédure.
1.7. En résumé:
Le programmeur dessine les fenêtres et contrôles.Il peut modifier les
propriétés des objets dessinés:
Par la fenêtre de propriétés (en mode conception).
Par du code (des instructions) dans lesprocédures.
2.Les Forms.
Elles correspondent aux fenêtres ou 'formulaires'.
Créer une fenêtre en mode conception:
2.5. Propriétés
Bien sur, la fenêtre possède des propriétés qui peuvent être modifiées en
mode design dans la fenêtre 'Propriétés' à droite ou par du code:
2.5.1. Name :
2.5.2. Text :
2.5.3. Icon :
2.5.4. WindowState :
me.WindowState =FormWindowState.Maximized
(Quand on tape Me.WindowsState= Vb donne la liste, l'énumération)
2.5.5. ControlBox
2.5.6. MaximizeBox
2.5.7. MinimizeBox
2.5.8. FormBorderStyle
2.5.9. StartPosition :
Donne les dimensions minimums et maximums que l'on peut utiliser pour
redimensionner une fenêtre.
2.5.11. Opacity
Exemple:
Me.FormBorderStyle= Sizable
Me.ControlBox=False
Me.Size = New Size(100, 100)
Me.StartPosition = FormStartPosition.CenterScreen
Me.Opacity= 0.75
On vient de dessiner une Form1 et une Form2 c'est donc les Class 'Form1
et ''Form2' (les moules) que l'on a dessiné.
Si dans une routine de la Form1 on veut ouvrir une seconde fenêtre de
type Form2, il faut:
Créer un Objet fenêtre (formulaire) avec le moule Form2:
Dim f As New Form2()
La nouvelle instance f de la Class 'form2' est un objet fenêtre.
2.6. Evènements:
Au cours de l'exécution:
Quand la feuille est chargée la procédure Form1_Load() est activée.
On pourra donc y mettre le code initialisant la feuille.
Form1_Activated() est exécuté ensuite car la feuille deviendra active.
Form1.GotFocus() est enfin exécuté puisque la fenêtre prend le focus.
Form1.Enter () est exécuté lorsque l'utilisateur entre dans la fenêtre.
Dès qu'une propriété change de valeur un évènement 'PropriétéChanged'
se déclenche:
Form1.BackColorChanged se déclenche par exemple quand la couleur du
fond change.
2.7. Méthodes:
On a déjà vu que pour faire apparaître une fenêtre il faut utiliser
.ShowDialog (pour qu'elle soit modale) ou .Show (pour non modale).
Me.Close ferme le formulaire.
Me.Activate l'active s'il est visible Me.Hide rend la fenêtre invisible.
Pour mettre la fenêtre au premier plan.
TopMost laisse toujours la fenêtre au premier plan alors que BringToFront
ramène la fenêtre au premier plan temporairement.
2.8. System.Windows.Forms.Form
Inherits Systeme.Windows.Forms.Form
Elle contient
-du code généré automatiquement par le concepteur Windows Forms (on
peut le voir en cliquant sur le petit '+') et qui crée la fenêtre et ses
contrôles.
-les procédures liées aux évènements.
Quant on tape Dim f As New Form2() ,on crée une instance de la Class
Form2.
3.Les Boutons.
Ils sont omniprésent dans les 'formulaires'.
On peut aussi puiser une image dans une ImageList grâce à la propriété
ImageList et ImageIndex, on peut ainsi changer d’image.
La propriété BackGroundImage permet de mettre une image de fond.
Exemple: button1.Text="Ok" affiche 'Ok' dans le bouton.
Dans Visual Basic 6.0, la propriété MaskColor était utilisée pour définir
une couleur qui devait devenir transparente, permettant ainsi l'affichage
d'une image d'arrière plan.
Dans Visual Basic .NET, il n'existe pas d'équivalent direct de la propriété
MaskColor!! Cependant, on peut ruser et définir la transparence:
Dans le " Code généré par le Concepteur Windows Form " après la
définition du bouton ou dans Form_Load ajouter:
4.Les TextBox
Les contrôles permettant de saisir du texte sont:
Les TextBox
Les RichTexteBox
Contrôle qui contient du texte qui peut être modifié par l'utilisateur du
programme.
C'est la propriété Text qui contient le texte qui a été tapé par l'utilisateur.
Exemple hyper simple: Comment demander son nom à l'utilisateur ?
Il faut créer un label dont la propriété Text contient "Tapez votre nom:",
suivi d'un TextBox nommé txtNom avec une propriété Text=""
(Ce qui fait que la TextBox est vide), enfin un bouton nommé btOk dont
la propriété Text="Ok".Cela donne:
Dans btOk_Click il y a:
La variable Nom contient bien maintenant le nom de l'utilisateur. Un
TextBox correspond à un mini éditeur de texte.(Mais sans
enrichissement: sans gras, ni italique… du moins pour être
exact,l'enrichissement affecte la totalité du texte et pas seulement une
partie) La police de caractères affectant la totalité du texte peut
simplement être modifiée par la propriété Font. La couleur du texte peut
être modifiée par ForeColor, mais la totalité du texte aura la
même couleur.
Exemple:
Ne permettre de saisir que des chiffres.Pour cela il faut utiliser
l'évènement KeyPress du textBox qui retourne un objet e de type
KeyPressEventArgs. e.KeyChar contient le caractère pressé, mais il est en
lecture seule!! on ne peut le modifier. Pour annuler la frappe (dans notre
exemple si le caractère n'est pas un chiffre) il faut faire e.handled=True
IsNumeric permet de tester si le caractère est numérique.
Autre solution?
Le format du texte que l’on peut mettre dans une RichTextBox est le
format RTF (Rich Text Format = Format de Texte Enrichi)
Explication : un texte peu être enregistré en brut (sans enrichissements)
en RTF (Utilisable dans la plupart des traitements de texte), au format
Word (.doc)…
Pour utiliser les fonctionnalités du RichTextBox il faut utiliser la
propriété .Rtf Quand j’affecte un texte à la propriété .Text il est affiché tel
quel, sans tenir compte de l’enrichissement.
Quand j’affecte un texte à la propriété .Rtf du contrôle pour l’afficher, s'il
contient des enrichissement au format RTF , l’enrichissement est affiché :
Le texte doit débuter par '{' et se terminer par '}', il peut aussi débuter
par "{\rtf1\ansi "
Ensuite les enrichissements s’effectuent par des balises qui indiquent le
début et la fin de l’attribut, une balise commence par le caractère '\' :
Entre \b et \b0 le texte sera en gras (Bold)
Exemple :
Ajoute le texte "Ce texte est en gras." à un contrôle RichTextBox
existant.
RichTextBox1.Rtf = "{\rtf1\ansi Ce texte est en \b gras\b0.}"
Voici les principaux attributs :
\b \b0 ce qui est entre les 2 balises est en gras
\i \i0 ce qui est entre les 2 balises est en italique
\par fin paragraphe (passe à la ligne)
\f font \f1 .. \f0 font numéro 1 entre les 2 balises
\plain ramène les caractères par défaut
\tab caractère de tabulation
\fs taille de caractère \fs28 = taille 28 Mettre un espace après la balise.
Comment afficher un texte enrichir?
RichTextBox1.RTF= T 'T étant le texte enrichi
5.Les Labels
Il y a 2 sortes de Label:
Les Label et Les LinkLabel
Donner votre
Nom:
Donne:
Dim i As Integer
For i = 0 To 100
Label1.Text = i.ToString
Next i
Refresh():
Dim i As Integer
For i = 0 To 100
Label1.Text = i.ToString: Label1.Refresh()
Next i
Exemple :
‘Pourquoi faire simple !!
Cela affiche : Si l’utilisateur clique sur le mot site, la procédure suivante
est déclenchée :
Les " boutons radio " (RadioButton): Ils sont ronds et font toujours partie
d’un groupe (Ils sont dans une fenêtre ou dessinés dans un objet
GroupBox ). Ce groupe est indispensable, car au sein d’un groupe de
RadioButton, un seul bouton peut être coché à la fois : si l’utilisateur en
coche un, les autres se décochent.
Il faut regrouper les radios boutons dans des 'GroupBox' par exemple
pour rendre les groupes indépendants:
Ici si je clique sur le bouton 'OUI' à droite, cela décoche 'NON' mais n'a
pas d'influence sur le cadre Format La propriété Text, bien sur, permet
d’afficher le libellé à coté du bouton, on peut aussi mettre une image
avec la propriété Image.
CheckAlign permet de mettre la case à cocher à droite ou à gauche du
texte, TextAlign permet d'aligner le texte.
Exemple pour le bouton en haut à droite.
RadioButton3.Text="OUI"
RadioButton3.TextAlign= MiddleCenter 'Middle=hauteur,
center = horizontale
RadioButton3.CheckAlign=MiddleRight
La propriété la plus intéressante de ces cases est celle qui nous permet
de savoir si elle est cochée ou non. Cette propriété s’appelle Checked. Sa
valeur change de False à True si la case est cochée.
RadioButton.Checked=True 'Coche le bouton
Ici les 2 boutons ont une Appearance=Button , celui du haut n'est pas
coché, l'autre est coché (enfoncé).
Items est une collection contenant tous les éléments (les objets) chargés
dans la liste.
Exemples :
Vider la ListBox:
ListBox1.Items.Clear()
Ajouter l'élément "poisson"
ListBox1.Items.Add("poisson")
Ajouter '4'
ListBox1.Items.Add(4.Tostring)
ou
ListBox1.Items.Add(4) 'accepté car les items sont des objets.
Insérer 'lulu en 4éme position
ListBox1.Items.Insert(4, "lulu")
For i = 1 To 100
ListBox1.Items.Add(i.ToString)
Next i
Dim x As Integer
x = List1.Items.Add("Hello")
List1.SelectedIndex = x
7.2. CheckedListBox
C’est une Listbox mais avec une case à cocher sur chaque ligne.
Dim x As Integer
Dim s As String = ""
For x = 0 To CheckedListBox1.CheckedItems.Count - 1
s = s & "Item coché " & (x+1).ToString & " = " &
« Dans la liste : »&
CheckedListBox1.CheckedItems(x).ToString &
ControlChars.CrLf
Next x
MessageBox.Show(s)
End If
Dim i As Integer
For i = 1 To 100
Dim LVI As New ListViewItem
LVI.Text = i.ToString
LVI.SubItems.Add((i * i).ToString)
LVI.SubItems.Add((i * i * i).ToString)
ListBox1.Items.Add(LVI)
Next i
8.1. MessageBox
Ouvre une fenêtre qui présente un message.
C’est une fonction qui affiche un message dans une boîte de dialogue,
attend que l'utilisateur clique sur un bouton (Ok ou Oui-Non..), puis
retourne une information qui indique le bouton cliqué par l'utilisateur.
Exemple:
Paramètres
TexteAAfficher Obligatoire.
Expression String affichée comme message de la boîte de dialogue
(longueur maximale 1 024 caractères).
N'oubliez pas d'insérer un retour chariot si le texte est long, cela crée 2
lignes.
Titre
Expression String affichée dans la barre de titre de la boîte de dialogue.
Si l'argument Titre est omis, le nom de l'application est placé dans la
barre de titre.
TypeBouton et Icons
Expression numérique qui représente la somme des valeurs spécifiant
-le nombre et le type de boutons à afficher :
Exemple complet :
Dim msg As String
Dim title As String
Dim style As MsgBoxStyle
Dim response As MsgBoxResult
msg = "Voulez vous continuer?" ' Définition
du message à afficher.
style = MsgBoxStyle.DefaultButton2 Or _
MsgBoxStyle.Critical Or MsgBoxStyle.YesNo 'On affiche Oui Non
title = "MsgBox Démonstration" ' Définition du titre.
' Affiche la boite MsgBox.
response = MsgBox(msg, style, title)
If response = MsgBoxResult.Yes Then ' L’utilisateur a
choisi Oui.
' code si l’utilisateur à cliquer sur Oui
Else
' code si l’utilisateur à cliquer sur No.
End If
8.2. InputBox
C'est une fonction qui permet d’ouvrir une fenêtre qui
pose une question :
Elle retourne la réponse tapée par l’utilisateur:
Le retour est effectué dans une variable String.
Cela donne :
9.Regroupement de contrôles
On peut regrouper des contrôles dans :
Les GroupBox.
Les Panels.
Les PictureBox.
Les TabControl.
Pour l'utilisateur, le fait que toutes les options soient regroupées dans un
panneau est un indice visuel logique (Tous les RadioButton permettrons
un choix dans une même catégorie de données). Au moment de la
conception, tous les contrôles peuvent être déplacés facilement ; si vous
déplacez le contrôle GroupBox ou Panel, tous les contrôles qu'il contient
sont également déplacés. Les contrôles regroupés dans un panneau ou
un GroupBox sont accessibles au moyen de la propriété Controls du
panneau.
Le contrôle Panel est similaire au contrôle GroupBox ; mais, seul le
contrôle Panel peut disposer de barres de défilement et seul le contrôle
GroupBox peut afficher une légende.
La légende de la GroupBox est définie par la propriété Text. Pour faire
apparaître les barres de défilement dans le Pannel mettre
9.2. PictureBox
Le contrôle PictureBox peut afficher une image mais peu aussi servir de
conteneur à d'autres contrôles.
Retenons la notion de conteneur qui est le contrôle parent.
9.3. TabControl
Ce contrôle permet de créer des onglets comme dans un classeur,
onglets entièrement gérés par VB. Chaque page peut contenir d'autres
contrôles.
En mode conception, en passant par la propriété TabPages, on ajoute des
onglets dont la propriété Text contient le texte à afficher en haut (Ici:
Page 1..). il suffit ensuite de cliquer sur chaque onglet et d'y ajouter les
contrôles.
Pour la taille :
On peut utiliser: Left, Top coordonnées du coin supérieur gauche et
Bottom, Right inférieur droit.
Location : coordonnées X,Y du coin supérieur droit du contrôle en pixels.
Height, Width pour la hauteur et la largeur du contrôle en pixels.
Size : hauteur, largeur peuvent aussi être utilisées.
Exemple :
Prenons 2 contrôles dans une fenêtre,celui de gauche a Anchor =left et
celui de droite à left et right.
Si je déplace le bord droit (ou le gauche d’ailleurs) : le contrôle droit est
redimensionné, les 2 contrôles restent cote à cote.
Dock
Amarre aux bords. Il y a même possibilité d’amarrer aux 4 bords (Fill)
pour remplir le conteneur, et de modifier la propriété DockPaddind
afin se s’éloigner légèrement des bords pour faire joli.
Spliter
Le contrôle Splitter sert à redimensionner des contrôles au Moment de
l'exécution par l'utilisateur.
Le contrôle Splitter est utilisé dans les applications dont les contrôles
présentent des données de longueurs variables, Comme l'Explorateur
Windows.
Pour permettre à un utilisateur de redimensionner un contrôle Ancré au
moment de l'exécution, ancrer le contrôle à Redimensionner au bord d'un
conteneur, puis ancrez un contrôle Splitter sur le même côté de ce
conteneur.
Fichier
Ouvrir
Fermer
Imprimer
Quitter
Edition
Couper
Copier
Coller
If TxtNom.CanFocus then
TxtNom.Focus()
End If
Pour une TextBox, la propriété text ne peut pas être tilisée, aussi il faut
mettre devant la textBox un contrôle label (qui lui ne peut pas avoir le
focus), si les TabIndex du label et du TextBox se suivent, le fait de
faire le raccourci clavier du label donne le focus au TextBox.