• Aucun résultat trouvé

Le développement d’une application de type Windows présente une interface plus élaborée. L’explorateur de solutions propose des boutons supplémentaires, la feuille de travail présente d’emblée un Form vierge sur un onglet étiqueté [Design], et une boîte à outils présente les contrôles qui peuvent être dessinés sur ce Form.

Pour passer du Form graphique à sa page de code et vice versa.

Obtenir l’information de tous les fichiers du projet, ou seulement les plus utiles.

A ce stade, la page de code contient très peu de choses. Pourtant, le Concepteur Windows Form, c'est-à-dire l’assistant qui écrit notamment le code nécessaire à la présentation du Form et des contrôles qui y sont dessinés par le programmeur,

a déjà enregistré les informations dans leur état actuel. Ces informations et le code correspondant sont modifiés au fur et à mesure de la mise au point du Design par le programmeur. Alors que sous la version 2003, le code du concepteur était contenu dans une Region (regroupement de codes) de chaque formulaire, depuis la version 2005, ce code est contenu dans un fichier distinct présenté sur l’illustration précédente comme un sous fichier de Form1.vb. Ce fichier

est en fait une partie de la classe Form1 de l’illustration précédente. Il s’agit d’une application de cette fonctionnalité nouvelle depuis 2005 qui permet d’écrire du code d’une classe sur plusieurs fichiers. Il suffit de faire précéder le mot

Class du mot Partial pour que le code soit reconnu comme appartenant à la classe désignée. Voici le contenu de ce fichier nommé Form1.Designer.vb dans cet exemple.

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class Form1

Inherits System.Windows.Forms.Form

' Form remplace la méthode Dispose pour nettoyer la liste des composants.

<System.Diagnostics.DebuggerNonUserCode()> _

Protected Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then

components.Dispose() End If

MyBase.Dispose(disposing) End Sub

' Requise par le Concepteur Windows Form

Private components As System.ComponentModel.IContainer

' REMARQUE : la procédure suivante est requise par le Concepteur Windows Form ' Elle peut être modifiée à l'aide du Concepteur Windows Form.

' Ne la modifiez pas à l'aide de l'éditeur de code.

<System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent()

components = New System.ComponentModel.Container()

Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.Text = "Form1"

End Sub

End Class

Des composants sont placés sur le Form et la taille de ce dernier est ajustée aux besoins d’une hypothétique application.

Dans le code généré par le Concepteur Windows Form, la procédure privée InitializeComponent a été modifiée et la déclaration événementielle du contrôle Button a été ajoutée. Voici un extrait de ces modifications.

Me.MonBouton = New System.Windows.Forms.Button Me.SuspendLayout()

'

' MonBouton '

Me.MonBouton.Location = New System.Drawing.Point(84, 28) Me.MonBouton.Name = "MonBouton"

Me.MonBouton.Size = New System.Drawing.Size(126, 23) Me.MonBouton.TabIndex = 1 Me.MonBouton.Text = "Fin" Me.MonBouton.UseVisualStyleBackColor = True ' ' Form1 '

Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(282, 75)

Me.Controls.Add(Me.MonBouton) Me.Name = "Form1"

Me.Text = "Form1" Me.ResumeLayout(False)

' Déclaration des contrôles avec prise en compte de leurs événements '

La procédure InitializeComponent décrit les composants ajoutés et leurs propriétés modifiées. Ordinairement, le programmeur ne se soucie pas du code généré par le Concepteur Windows Form, code qu’il n’est d’ailleurs pas judicieux de modifier autrement que par l’onglet Design et la fenêtre des propriétés (cf. la remarque dans le code de

Partial Class Form1 à la page précédente).

Après cette illustration de l’interface de développement d’une application Windows, voici une autre application de type Windows, équivalente celle-ci à l’application Console réalisée précédemment.

Une fois l’interface de travail en place et le Form vierge présent sur la feuille de travail, la page de code est activée par le clic du bouton adéquat de l’explorateur de solutions en vue de définir une procédure événementielle. Form1 Evénements est choisi dans la liste déroulante de gauche et l’événement souhaité peut alors être sélectionné dans celle de droite.

Ces sélections réalisées, la feuille de code présente le corps de la procédure événementielle. Il reste à y écrire le code qui permettra à cette application de réaliser dans l’interface graphique de Windows

ce que l’application Console réalise en session Dos. Voici le code de cette première application Windows …

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs)

Handles Me.Load MessageBox.Show("Bonjour", "", MessageBoxButtons.OK)

End End Sub

… et le résultat de son exécution

Après avoir illustré l’environnement de développement par la réalisation d’une application affichant « Bonjour » sous Dos et d’une autre effectuant le même affichage sous Windows, il convient d’aborder les concepts de base en programmation VB.Net.

Pour l’étude de ces concepts, c’est le contexte procédural de la programmation qui est important et, autant que possible, les aspects POO (Programmation Orientée Objet) sont évités. Ces derniers sont étudiés en détail par la suite.

L’approche de cette étude est scindée en plusieurs parties, respectant ainsi la structure décrite par le schéma du traitement rationnel de l’information de Von Newman.

• Les entrées et sorties de données • Le stockage des données en mémoire

o Les types et structures de données • Le traitement des données

o Les instructions de contrôle o Les moyens de traitements