|
DÉVELOPPEMENT RAPIDE D'APPLICATIONS
![]() |
|
Notes de cours 6 Autres controls |
|
Les boutons de sélection
RadioButton: Par définition un bouton d'option fait partie d'un groupe; on crée d'abord un cadre (GroupBox) et on y met les boutons d'options. Le GroupBox détermine que les boutons font tous partie du groupe. Si j'ai besoin de 2 groupes de boutons, je doit créer 2 GroupBox différents. On décrit chaque bouton avec Text et on lui donne un Name significatif. Il peut y avoir seulement un bouton sélectionné dans chaque groupe. À l'exécution on doit tester la propriété Checked de chaque bouton - si elle retourne True, le bouton est celui qui a été sélectionné (seulement un bouton du groupe retourne True) et j'exécute l'action appropriée. CheckBox: celui-ci aussi fait partie d'un groupe. La différence avec le bouton d'option c'est qu'il peut y avoir plusieurs items qui ont un check. On se sert de la propriété Checked pour tester si chaque boîte est vide (Checked = False) ou cochée (Checked = True). ![]()
Utilisation d'arrays Création du tableau - "array" En VB on déclare un tableau comme une variable ordinaire, avec DIM. Par exemple: Dim Mois(1 to 12) As String
déclare un tableau Mois qui contiendra 12 valeurs avec index de 1 à 12. Mois(1) = "Janvier", etc. Le tableau:
Dim Departement(6 ) As String
déclare un tableau de 7 éléments avec le premier index = 0. On peut aussi déclarer un tableau de grandeur indéterminée (unbound) en utilisant la fonction Array( ) dans le code: Dim Semaine, Jour
Semaine = Array("lundi", "mardi", "mercredi") Jour = Semaine(1) 'retourne mardi Le Control ArrayUn tableau de contrôles et non un tableau qui contrôleCeci était très commun en VB6. Ça n'existe plus en VB.NET. On peut créer l'équivalent mais on ne peut pas le faire lors de la création du form - il faut le faire dans le code. Dans l'exemple qui suit, j'ai besoin de 6 TextBox pour les cours et 6 TextBox pour les notes. Je veux traiter les TextBox comme un array. Dans le FormLoad je vais créer 2 tableaux de TextBox et je vais les afficher à l'endroit voulu avec Location.
Option Explicit On
Public Class Form2 Inherits System.Windows.Forms.Form
Dim sglNotes(5) As Single
Dim strCours(5) As String
Dim sglTotal, sglMoyenne As Single
Dim txtNotes(5) As TextBox
Dim txtCours(5) As TextBox
#Region " Windows Form Designer generated code "
Private Sub frmMoyenne_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Me.WindowState = FormWindowState.Normal
For x As Integer = 0 To 5
txtCours(x) = New TextBox
txtCours(x).Location = New Point(100, (x * 25) + 100)
Me.Controls.Add(txtCours(x))
Next
For x As Integer = 0 To 5
txtNotes(x) = New TextBox
txtNotes(x).Location = New Point(300, (x * 25) + 100)
Me.Controls.Add(txtNotes(x))
Next
EffaceTout()
End Sub
Private Sub btnCalc_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnCalc.Click
Dim i As Integer
For i = 0 To 5
sglNotes(i) = txtNotes(i).Text
strCours(i) = txtCours(i).Text
Next i
For i = 0 To 5
sglTotal = sglTotal + sglNotes(i)
Next i
sglMoyenne = sglTotal / 6
lblMoy.Text = sglMoyenne
End Sub
Private Sub EffaceTout()
Dim i As Integer
For i = 0 To 5
sglNotes(i) = 0
strCours(i) = ""
txtNotes(i).Text = 0
txtCours(i).Text = ""
Next i
sglTotal = 0
sglMoyenne = 0
lblMoy.Text = ""
End Sub
End Class
|