Visual Basic .Net:Classe Form

Un article de WikiTuto.

Jump to: navigation, search
  • VB .Net un langage objet
  1. Définition du langage Objet
  2. La syntaxe objet
  3. La programmation événementielle
  • L'interface de Visual Studio
  1. Structure des applications
  2. Prise en main
  • Premiers contrôles
  1. La classe Form
  2. La classe Button
  3. La classe Label
  4. La classe LinkLabel
  5. La classe Textbox
  6. La classe Richtextbox
  7. La classe Checkbox
  8. Les classes Radiobutton, GroupBox et Panel
  • Les bases du langage
  1. Les variables
  2. Les opérateurs
  3. Les tests
  4. Les boucles
  5. Les fonctions prédéfinies
    1. Fonctions de chaînes
    2. Fonctions et méthodes numériques
    3. Fonctions de conversion
    4. Fonctions d'interface
    5. Les espaces de noms
  • Les collections
  1. La notion de Collection
  2. Désigner les contrôles par leur indice
  3. La boucle For Each ... Next
  4. Tester le type d'un contrôle
  5. Créer ses propres collections par du code
  6. Créer dynamiquement des contrôles
  7. Remarque finale
  • Les contrôles listes
  1. La classe Listbox
  2. La classe Combobox
  3. La classe CheckedListBox
  4. La classe ImageList
  5. La classe Listview
  6. La classe Treeview
  • Les Événements
  1. La notion de Focus
  2. Les événements clavier
  3. Les événements Souris
  4. Glisser - Déposer
  • Autres contrôles
  1. La classe TabControl
  2. Les classes HScrollBar, VScrollBar et TrackBar
  3. La classe ProgressBar
  4. Les classes ToolTip et HelpProvider
  5. Les classes DomainUpDown et NumericUpDown
  6. Les classes DateTimePicker et MonthCalendar
  7. La classe Timer
  8. Les classes de boîtes de dialogue communes
  • Les graphismes
  1. Couleurs et Propriétés
  2. Images et Contrôles
  3. Gérer intelligemment les images
  4. méthodes graphiques
Source : Christophe Darmangeat

Sommaire

Nous en savons à présent suffisamment pour commencer à mettre pour de bon les mains dans le cambouis. Ouvrons donc la boîte à outils, et regardons ça de près. Que trouvons-nous ?

Explications

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, que nous pourrons éventuellement poser d'autres contrôles. Et même si on peut à la rigueur la rendre invisible (mais il faut être un peu tordu), de toutes façons, elle est quand même là. Corollaire de cette proposition, c'est également dans la Form que seront rassemblées toutes les procédures événementielles liées aux contrôles que nous aurons créés sur cette Form.

Propriétés

Nous pouvons 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 que nous retrouverons dans la plupart, sinon dans la totalités des autres contrôles proposés par VB :

Name

Il s'agit du nom 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 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'é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.

Erreur à ne pas commettre

Il ne faut évidemment pas confondre les propriétés Name et Text, dont le rôle n'a vraiment rien à voir.

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 Size , qui est un type structuré composé de deux Integer. Pour modifier sa valeur par du code, c'est donc un peu sportif : 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)

Nous reviendrons dès le chapitre suivant sur cette écriture un peu étrange. En attendant, sachons qu'il y a moyen de contourner l'obstacle, puisque plutôt que nous embêter avec ce type Size structuré, nous pouvons, en fouinant un peu - découvrir que nous avons 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

...ce qui n'est tout de même pas plus tordu, loin s'en faut. Cela dit, je reviendrai sur ces types structurés et sur ce genre d'écritures bizarres... dans très peu de temps, c'est promis.

Remarque

La propriété Size désigne les dimensions extérieures d'un contrôle. Si l'on désire connaître, ou définir, ses dimensions intérieures (la zone "cliente" du contrôle), on dispose de la propriété Clientsize, qui possède la même structure.
La différence entre Size et Clientsize est particulièrement sensible avec les Form, en raison de l'existence de la barre de titre.

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

Tag

Voilà, pour finir, une bien étrange propriété. Tous les contrôles la possèdent, et pourtant, elle ne sert... à rien. Mais c'est là son principal atout : elle va pouvoir servir à tout ce qu'on veut ! Elle va nous permettre d'associer n'importe quelle valeur (de type String) à nos contrôles, et d'en faire bon usage. Nous verrons au cours de ces leçons plusieurs occasions dans lesquelles cette propriété s'avèrera fort précieuse.

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

Détermine la position de la fenêtre sur l'écran lors du lancement de l'application.

BackgroundImage

Permet de désigner une image d'arrière-plan pour une Form.

FormBorderStyle

Détermine le type de bordures utilisé

Active et Load

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. Je m'y arrête d'autant plus volontiers qu'on a souvent une fâcheuse tendance à les confondre, alors qu'ils sont loin d'être identiques.

L'événement Activate correspond au fait que la Form spécifiée devient la fenêtre active.
L'événement Load 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, l'unique Form 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 Load). Mais une seule sera active. Par la suite, chaque fois que l'utilisateur passera d'une Form à l'autre, il redéclenchera l'événement Activate pour la Form sur laquelle il vient d'atterrir.

Les événements Activate et 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 cases et les zones de saisie à blanc (ou qu'on y réécrit les valeurs par défaut), etc.

Voir aussi


Source : Christophe Darmangeat

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire