Académique Documents
Professionnel Documents
Culture Documents
NET
Forums Tutoriels Magazine FAQs Blogs Projets Chat Newsletter Études Emploi Club Contacts
Accueil Conception Java .NET Dév. Web EDI Langages SGBD Office Solutions d'entreprise Applications Systèmes
.NET Visual Studio ASP.NET C# Visual Basic.NET Windows Phone Windows Azure
FORUMS VB.NET FAQ VB.NET TUTORIELS VB.NET SOURCES VB.NET LIVRES VB.NET
Cours VB.NET
Cliquer sur 'Boite à Outils' à gauche , bouton Windows Forms, puis bouton 'Button',cliquer dans Form1, déplacer le curseur sans lâcher le bouton,
puis lâcher le bouton : un bouton apparaît.
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
On peut modifier les propriétés dans la fenêtre des propriétés en bas à droite:
Name est utilisé pour lui donner un nom explicite (BoutonOk BoutonCancel)
En VB 2003
En vb2005:
System utilise le thème d'affichage de Windows que vous avez choisi dans le panneau de configuration. (Thème Windows XP, personnel..)
Quand on utilise Flat on peut choisir dans FlatStyle l'épaisseur du bord (BorderSize) et sa couleur (BorderColor), 3 et rouge dans notre premier
bouton.
MouseDownBackColor et MouseOverBackColor indiquent la couleur d'arrière plan du bouton quand on clique ou quand on survole le bouton.
Enfin on peut choisir la position du texte avec TextAlign. Il a la valeur TopLeft dans le dernier bouton.
Text contient le texte a afficher sur le bouton. ForeColor correspond à la couleur de ce texte (BackColor étant la couleur du fond)
Exemple:
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
Si on y inclut un « & » la lettre qui suit sera soulignée et servira de raccourci clavier.
Button.Text= "&Ok" donne sur le bouton Ok et crée le raccourci clavier 'Ctrl O' qui est l'équivalent d'un click sur le bouton.
Image contient le nom de l'image à afficher sur le bouton (si on veut afficher une image, on le fait en mode Design; noter que quand on distribue
l'application, il n'y a pas besoin de fournir le fichier contenant l'image avec l'application ). AlignImage permet de positionner l'image sur le bouton.
On peut aussi puiser une image dans une ImageList grâce à la propriété ImageList et ImageIndex, on peut ainsi changer d'image.
En VB 2008, l'image est chargée dans les ressources. Les formats acceptés sont: bmp, gif, jpg, wpf, png.
TextImageRelation permet de définir les relations entre le texte et l'image: avant, après, dessus (Overlay).
AutoEllipsis permet de prendre en charge un texte trop long: Il le tronque et ajoute '...', si le curseur de l'utilisateur passe sur le bouton, on voit un
ToolTip qui affiche la totalité du texte:
Buttom1.AutoEllipsis= True
Truc: quand vous travaillez sur de très petits boutons, changer la propriété Font et choisir une petite taille de caractère (8 par exemple)
Habituellement, on modifie l'aspect du bouton dans le designer, mais on peut le faire aussi par code.
Exemple en VB 2008:
With Button1
.Text= "Ok"
.Image= MonProgramme.My.Resources.Resources.BtOk
.TextImageRelation=TextBeforeImage
.ImageAlign= MiddleRigth
.TextAlign= MiddleLeft
End With
Padding permet de positionner le contenu dans le contrôle: remplissage et marges; il est utilisable dans de nombreux contrôles; ici dans un bouton
c'est le texte qui est déplacé.
L'évènement principalement utilisé est Click(): quand l'utilisateur clique sur le bouton la procédure
est traitée.
Cette procédure contient le code qui doit être exécuté lorsque l'utilisateur clique sur le bouton.
Le bouton peut être sélectionné grâce à un clic de souris, à la touche ENTRÉE ou à la BARRE d'espacement si le bouton a le focus.
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
Parfois, il faut permettre aux utilisateurs de sélectionner un bouton en appuyant sur la touche ENTRÉE même si le bouton n'a pas le focus.
Exemple: Il y a sur la fenêtre un bouton "Ok" qui doit être enfoncé quand l'utilisateur tape 'Enter' au clavier, c'est le bouton qui 'valide' le
questionnaire ( et qui le ferme souvent).
Comment faire?
La propriété CancelButton de la Form permet de la même manière de créer un bouton 'Annuler'( qui répond à la touche 'Echap'(ESC).
On a vu qu'on pouvait mettre une image dans un bouton, il faut pour cela donner à la propriété Image le nom du fichier contenant l'image, ceci en
mode Design.
Mais l'image est souvent dans un carré et on voudrait ne pas voir le fond (rendre la couleur du fond transparente)
Voici l'image , je voudrais ne pas afficher le 'jaune' afin de voir ce qu'il y a derrière et donner l'aspect suivant
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!! Mais il y a 2 ruses pour arriver à ses fins:
- Faire une image GIF avec une couleur 'transparent' autour. Puis la mettre dans le bouton.
- Charger l'image dans le contrôle puis forcer une couleur à devenir transparente:
Dans le " Code généré par le Concepteur Windows Form " après la définition du bouton ou dans Form_Load ajouter:
On récupère le Bitmap de l'image du bouton , on indique que le jaune doit être transparent, on remet le BitMap.
Bien sur il y a intérêt à choisir une couleur (toujours la même) qui tranche pour les fonds de dessin et ne pas l'utiliser dans le dessin lui même.
Pour faire cela il faut créer le dessin, le mettre en fond et paramétrer correctement le bouton.
Aller dans les ressources (ensemble d'éléments,: images, textes, sons.. qui seront incorporés dans le programme.)
(Pour cela double cliquez sur MyProjet dans l'explorateur de solution ou menu 'Projet'=>'Propriétés de..', Onglet 'Ressources')
Dérouler la liste à gauche pour y mettre 'Images' puis cliquer sur 'ajouter une ressource'; on vous demande le nom de la ressource (tapez par
exemple 'button_blue'), vous vous trouvez dans Paint, dessinez (ou collez) l'image de votre bouton. Puis menu 'Fichier'=>'Enregistrer': le dessin
apparaît dans les ressources. Fermez Paint.
MyButton.BackGroundImage= MonProgramme.My.Ressources.Ressources.button_Blue
(ou modifier cette propriété BackGroundImage dans la fenêtre de propriétés à droite)
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
En effet l'image de la ressources n'a pas la même taille que le bouton, de plus le dessin du bouton standard apparaît!!
Un exemple:
Voir dans le chapitre sur les classes, 'Créer un composant', c'est un peu complexe!!
L'exemple suivant crée un Button nommé Button1 sur lequel on voit "Ok", on modifie certaines de ses propriétés et on l'ajoute à Form.
Il faut par code créer aussi les évènements liés à ce bouton: dans ce cas il faut déclarer le bouton plutôt avec la syntaxe contenant WithEvents et en
haut du module.
(dans ce cas on ne remet pas la ligne Dim button1 dans la Sub InitializeMonButton)
Ainsi VB sait que pour un évènement sur le Button1, il faut déclencher la Sub OnClique.
Les TextBox
Les RichTextBox
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.
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:
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
Une fois que l'utilisateur a tapé son nom, il clique sur le bouton 'Ok':
Dans btOk_Click il y a:
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.
VIII-E-1-a. Propriétés
TextBox1.Multiline = True
TextBox1.ScrollBars = ScrollBars.Both 'ou None, Horizontal, Vertical
Un TextBox permet de saisir des mots de passe en affichant à la place des caractères tapés des ronds ou un caractère particulier.
En mode MultiLine la collection Lines contient dans chacun de ses éléments une des lignes affichées dans le contrôle:
TexBox1.Lines(1) la seconde...
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
Ajouter au texte:
textBox2.AppendText(MonText)
TextBox1.Clear()
KeyPress permet de récupérer la touche tapée dans e.KeyChar (le code unicode mais pas les touches de fonction de direction comme CTRL,F1, F2,
flèche haut...).
KeyDown et KeyUp permettent de voir ce qui a été tapé physiquement, le code clavier (dans e.KeyCode) et aussi si MAJ ALT CTRL ont été pressés
(dans e.Shift e.Alt..)
On peut récupérer la touche pressée dans KeyPress et depuis VB 2005, on peut modifier e.KeyChar.
T= textBox1.Text
T= textBox1.Lines(0)
Si une partie du texte est sélectionnée par l'utilisateur, on peut la récupérer par:
T= TexBox1.SelectedText
TextBox1.Select(3,4)
puis
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
TextBox1.SelectionStart=3
AcceptsTab et AcceptsReturn permettent d'accepter dans le TextBox l'utilisation de la touche de tabulation et de celle d'entrée au lieu d'agir sur le
formulaire (passage au contrôle suivant et validation du formulaire).
C'est un problème très fréquent: l'utilisateur du logiciel doit saisir un certain nombre ou type de caractère (que des chiffres par exemple); il peut
parfois y avoir des caractères interdits; un nombre précis de caractères à saisir..
On va comprendre comment voir quel caractère a été tapé au clavier puis comment l'annuler, le remplacer.
On se souvient que la propriété MaxLength limite le nombre de caractères qu'il est possible de saisir.
L'évènement TextBox1_TextChanged se produit dès qu'il y a une modification dans le textbox (frappe d'un caractère mais aussi modification de la
propriété Text), dans la procédure TextBox1_TextChanged on peut utiliser TextBox.text qui contient la totalité du texte.
Quand on tape un caractère au clavier, les évènements suivants se déclenchent (dans l'ordre):
TextBox1_KeyPress()
TextBox1_KeyDown() et TextBox1_KeyUp() retourne le paramètre e dont la propriétée e.KeyCode permet de récupérer la touche qui a été tapée.
Pour tester un caractère on utilise l'énumération Keys.
TextBox1_KeyPress()retourne le paramètre e, sa propriété e.KeyChar permet de récupérer le caractère (en unicode) qui a été tapé.
KeyChar est en lecture/écriture depuis Vb 2005. Mais KeyCode est en lecture seule.
Exemple 1:
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
e.Handler=True indique que l'évènement KeyPress a été géré, il n'est donc plus géré et le caractère n'est pas affiché.
Ne marche que dans KeyPress.
Exemple 2:
Empecher la saisie de plein de caractères différents:
Exemple 3:
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é.
Pour annuler la frappe (dans notre exemple si le caractère n'est pas un chiffre) il faut faire e.handled=True qui annule la frappe.
Exemple 4:
Ne saisir que des majuscules:
Il existe une énumération nommée 'ControlChars' qui contient quelques touches non imprimables(effacement, entrée...)
Il existe une autre manière simple et élégante de tester si un caractère est numérique, une lettre, un signe de ponctuation, un blanc...
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
Depuis VB 2005 (Framework 2) y a t-il un moyen plus simple de modifier le caractère tapé?
Si on veut voir des touches n'ayant pas de caractères Unicode, il faut utiliser KeyUp ou KeyDown qui retourne e.KeyCode (code de la touche
et non le code Unicode du caractère).
Noter bien que c'est le code de la touche (et pas du caractère), on peut tester Keys.Escape Keys.Back.. avec l'énumérations Keys.
Comme KeyCode est en ReadOnly, on ne peut pas le modifier; si on veut l'annuler, il faut passer par KeyPress et son paramètre e.Handler:
Petite parenthèse:
if e.KeyChar=Convert.ToChar(27) then
ou
if AscW(e.Keychar)=27 then
Dans ce cas on utilise la Sub 'Validated' qui est effectuée lorsque l'on va quitter le contrôle TextBox.
Exemple: enlever les blancs pour verifier que le texte contient uniquement les chiffres 0 à 9 et la virgule:
Si le texte n'est pas valide, on efface tout.
On peut coder toutes les opérations mais pourquoi ne pas utiliser un Regex?
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
Then
TextBox1.Text = Contenu
Else
Contenu = ""
TextBox1.Text = ""
TextBox1.Focus()
End If
En quittant le contrôle on veut vérifier si le texte saisi correspond à une date valide:
On pourrait , au cours de la saisie (KeyPress) n'accepter que les chiffres et "/" puis à la sortie du contrôle (dans Validated) tester si c'est un format
Date grâce à un Regex.
Il y a plus simple: on cast le texte en date, si cela 'plante', le texte ne contient pas une date valide.
Si vous êtes débutant passer à la rubrique suivante, vous reviendrez plus tard à la gestion du code RTF.
Le contrôle RichTextBox permet d'afficher, d'entrer et de manipuler du texte mis en forme. Il effectue les mêmes tâches que le contrôle TextBox,
mais il peut également afficher différentes polices de caractère, des couleurs et des liens, charger du texte et des images incorporées à partir d'un
fichier, ainsi que rechercher des caractères spécifiques. Ce contrôle manipule du texte au format RTF (le contrôle WPF correspondant n'utilise plus le
RTF).
Le format du texte que l'on peut mettre dans une RichTextBox est le format RTF (Rich Text Format = Format de Texte Enrichi)
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 enrichissements au format RTF , l'enrichissement est affiché :
Exemple complet :
"{\rtf1\ansi
{ \colortbl
\red0\green0\blue0;
\red255\green0\blue0;
\red0\green255\blue0;}
{\fonttbl
{\fo\froman Symbol;}
{\f1\fswiss Arial;}
}
Ce qui suit est en \f1 \cf1 \i Arial Rouge Italique \f0 \cf0 \i0
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
} »
Cela donne:
Nb : Si vous voulez copier coller l'exemple pour l'essayer, enlever les sauts à la ligne.
On n'est plus dans le cas ou on affiche d'emblée la totalité du texte, mais dans le cas ou l'utilisateur veut modifier son texte qui est déjà dans le
contrôle.
Exemple: L'utilisateur sélectionne une portion du texte dans le contrôle puis clique sur une bouton nommé 'Rouge' pour mettre la sélection en rouge.
RichTextBox1.SelectionColor = System.Drawing.Color.Red
richTextBox1.SaveFile(FileName, RichTextBoxStreamType.RichText)
Si on remplace .RichText par .PlainText c'est le texte brut et non le texte enrichi qui est enregistré
La méthode retourne l'emplacement d'index du premier caractère du texte recherché et met en surbrillance ce dernier ; sinon, elle retourne la valeur
-1.
Il peut y avoir des liens hypertexte et on peut interdire la modification enfin il y a les méthodes Undo et Redo sur les dernières modifications. Comme
pour les textbox il y a une collection Lines() qui contient chacune des lignes.
Rien de simple...
Microsoft fourni le code d'un contrôle nommé ExtendedRichTextBox qui hérite de RichTextBox mais qui contient en plus une méthode Print.
Exemple en anglais du code d'un traitement de texte (Word processor) utilisant un ExtendedRichTextBox qui permet l'impression.
La Solution RichTextEditor contient le code du contrôle ExtendedRichTextBox et le code de l'application RichTextEditor qui utilise le contrôle.
Il faut charger le projet RichTextEditor , le générer (pour que le contrôle soit 'compilé' ), fermer puis rouvrir le projet.
Permettant d'utiliser un masque pour la saisie de caractères. Le masque indique quels caractères interdire ou permettre.
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
On voit bien dans la fenêtre ci dessus: le masque '00:00' permet de saisir 2 groupes de 2 chiffres. L'utilisateur ne voit que ce qu'il y a dans l'aperçu
'__:__' et est obligé de taper 2 chiffres puis 2 chiffres.
On peut utiliser des masques de la liste (Heure, date, code postal..) ou créer un masque personnalisé.
maskedTextBox1.Mask = "LL"
Exemple:
Il y a 2 sortes de Label:
-Les 'Label'
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
-Les 'LinkLabel'
On en a déjà utilisé pour afficher du texte non modifiable par l'utilisateur (ce n'est donc pas une zone de saisie pour l'utilisateur du logiciel).
Les contrôles Label sont généralement utilisés pour fournir un texte descriptif à un contrôle. Vous pouvez par exemple utiliser un contrôle Label pour
ajouter un texte descriptif à un contrôle TextBox. Ceci a pour but d'informer l'utilisateur du type de donnée attendu dans le contrôle.
Exemple hyper simple: Comment indiquer à l'utilisateur qu'il faut saisir son nom?
Devant le TextBox permettant la saisie du nom, on ajoute un 'Label' qui affiche 'Donner votre nom:'.
La légende qui s'affiche dans l'étiquette est contenue dans la propriété Text du label.
Après avoir déposé le 'Label' sur le formulaire, on peut modifier le texte affiché à partir de la fenêtre de propriétés, en passant par la propriété
'Text':
On peut aussi mettre la propriété ForeColor à Red pour que le texte du label soit en rouge.
La propriété Alignement vous permet de définir l'alignement du texte dans l'étiquette (centré, à droite, à gauche), BorderStyle permet de mettre
une bordure (un tour) ou non..
donne:
Remarque: la plupart du temps les labels sont modifiés en mode design, directement dans la fenêtre des propriétés.
Il est également possible d'y afficher une image avec la propriété .Image
La propriété AutoSize =True, autorise le contrôle à se redimensionner pour afficher la totalité du texte.
La mise à jour de l'affichage du Label (comme les autres contrôles d'ailleurs) est effectuée en fin de Sub:
Si on écrit:
Dim i As Integer
For i = 0 To 100
Label1.Text = i.ToString
Next i
La variable i prend les valeurs 1 à 100, mais à l'affichage rien ne se passe pendant la boucle, VB affiche uniquement 100 à la fin; si on désire voir les
chiffres défiler avec affichage de 0 puis 1 puis 2... il faut rafraîchir l'affichage à chaque boucle avec la méthode Refresh():
Dim i As Integer
For i = 0 To 100
Label1.Text = i.ToString: Label1.Refresh()
Next i
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
Une alternative est de mettre un Application.DoEvents() qui donne à Windows le temps de traiter les messages et de rafraîchir l'affichage.
LinkArea définit la zone de texte qui agira comme un lien; dans la fenêtre de propriété taper 11 ;4 (on verra que c'est plus simple que de le faire par
code)
Les 4 caractères à partir du 11ème seront le lien, ils seront soulignés. Ne pas oublier comme toujours que le premier caractère est le caractère 0.
L'événement LinkClicked est déclenché quand l'utilisateur clique sur le lien. Dans cette procédure on peut permettre le saut vers un site Internet par
exemple ou toute autre action.
Exemple :
Il est possible de modifier la couleur du lien pour indiquer qu'il a été utilisé:
On peut y inclure une action quelconque, en particulier un saut vers un site Web:
'correspond au code qui ouvre un browser Internet (Internet Explorer ...) et qui charge la page dont l'adresse est indiquée.
La collection Links permet d'afficher plusieurs liens dans un même texte, mais cela devient vite très compliqué.
-Les CheckBox.
-Les RadioButton.
Les " cases à cocher " (CheckBox): Elles sont carrées, et indépendantes les unes des autres, si l'utilisateur coche une case , cela n'a pas d'influence
sur les autres cases du formulaire, qu'elles soient regroupées dans un cadre pour faire plus joli ou non.
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
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]
Cours VB.NET
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.
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 et de modifier son état. Cette propriété
s'appelle Checked. Sa valeur change de False à True si la case est cochée.
Voici la procédure:
Pour le CheckButton ThreeState=True permet de définir 3 états au lieu de 2 (coché, indéterminé=grisé, non coché)
CheckedState indique dans ce cas un des 3 états (Checked, Unchecked, Indeterminate) (alors que Checked n'en indique que deux.)
Appearance peut aussi donner une apparence de bouton à la case à cocher. Il est enfoncé ou pas en fonction de la valeur de Checked.
Ici les 2 boutons ont une Appearance=Button , celui du haut n'est pas coché, l'autre est coché (enfoncé).
Autocheck = True par défaut: quand on clique, l'état change automatiquement. Si AutoCheck= False il faut gérer soi même le changement d'état
avec Checked.
Les sources présentées sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une oeuvre
intellectuelle protégée par les droits d'auteurs. Copyright © . Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et
intérêts. Cette page est déposée à la SACD.
Responsables bénévoles de la rubrique VB.NET : Jérôme Lambert - Philippe Vialatte - Contacter par email
Vos questions techniques : forum d'entraide VB.NET - Publiez vos articles, tutoriels et
cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs
francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2011 www.developpez.com -
Legal informations.
http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms2[30/03/2011 23:58:30]