Programmation .Net - Indépendance financière

Utiliser les Windows Forms (Partie 1) – C#/Visual Basic

Nous allons maintenant jetter un coup d’oeil aux Windows Forms! Les Windows Forms vont nous permettre de créer des interfaces conviviales pour les utilisateurs ainsi que de simplifier la tâche des création d’interface complexes. En effet, la plupart des interfaces du système d’opérations Windows lui-même sont fait avec Windows Forms ou WPF (Windows Presentation Foundation). C’est exactement pourquoi les Windows Forms sont si importantes lorsque l’on programme sur Windows (C# et VB.Net). Certains diront que la technologie WPF remplacera Windows Forms, ce n’est toutefois pas le cas, elle vient en complément à cette technologie pour effectuer des tâches de nature différentes donc non, Windows Forms n’est pas une technologie mourante mais est bien là pour rester!

Dans ce tutoriel, nous allons explorer les points communs des différents contrôles, soit les propriétés, les méthodes et les événements.

Note : ce tutoriel contient beaucoup d’images donc si vous ne voyez pas très bien, vous pouver cliquer sur l’image désirer pour l’agrandir.

Introduction aux contrôles des Windows Forms!

Pour créer un nouveau projet du type Windows Forms, vous pouvez vous baser sur la procédure de création d’un projet Console, à l’exception que vous devrez choisir le Template Windows Forms. Faites attention de bien selectionner votre langage de programmation préféré (C# ou Visual Basic)!

Create new Windows Forms

Create new Windows Forms template

Cette procédure devrait créer un projet vide avec un formulaire de départ comme celui ci-dessous. Notez que mon thème est le Dark, si vous voulez changer votre thème d’interface, veuillez vous référer au Quick Tips 3.

Windows Forms

Vous pouvez maintenant choisir n’importe quel contrôle de la boîte à outils et le glisser sur votre formulaire pour le construire. Où est la boîte à outils? Elle devrait être complétement sur la gauche de votre interface Visual Studio ou encore, allez dans l’élément de menu View et cliquez sur Toolbox. Voyez ci-dessous à quoi ressemble la boîte à outils, vous pouvez cliquer sur All Windows Forms pour afficher les contrôles disponibles.

ToolBox and Controls

Recherchez le contrôle Button et glissez-le sur le formulaire. Vous devriez avoir un résultat semblable à celui ci-dessous, vous pouvez ensuite bouger le bouton en gardant le bouton gauche de votre souris enfoncé.

Form with Button

Ce bouton est une classe, il comporte donc des méthodes, des propriétés et des événements (que nous verrons sous peu).

Properties

Les propriétés de notre bouton peuvent être changées pour modifier son apparence, son texte et autre. Toutes les propriétés se trouvent dans la fenêtre des propriétés. Celle-ci devrait d’ailleurs se trouver à droite de votre environnement de développement mais si vous ne la trouvez pas, vous pouvez aller dans l’élément de menu View -> Properties Window. Voici ce à quoi elle devrait ressembler.

Properties Window

Si vous cliquez une seule fois sur le bouton que vous venez d’ajouter au formulaire, le contenu de la fenêtre de propriétés changera pour les propriétés du bouton lui-même. Trouvez la propriété Text et changez sa valeur, dès que vous cliquerez à un autre endroit, vous pourrez immédiatement observer le changement sur votre formulaire.

Button Properties

L’image ci-dessus illustre le changement que vous devriez avoir après modification de la propriété Text du bouton. Sentez-vous à l’aise de créer d’autres contrôles ou encore de modifier d’autres propriétés du bouton pour expérimenter au maximum. Vous constaterez que les contrôles se ressemblent tous un peu.

Les événements

Un événement sera lancé au moment ou une action particulière sera exécutée (cette action peut provenir de l’utilisateur mais aussi du système d’exploitation. Le meilleur exemple serait, dans notre cas, l’événement Click effectué au moment où l’utilisateur clique sur le bouton. Vous pouvez avoir accès à tout les événements directement depuis votre fenêtre de propriétés en cliquant sur le bouton portant l’image d’une éclaire. Finalement, il est possible d’alterner entre le classement par catégories et par A-Z en cliquant sur les boutons à gauche des propriétés et événements. L’image ci-dessous illustre l’endroit en particulier.

Event A to Z button

Donc une fois que vous aurez cliquez sur le bouton événements, vous verrez les événements possibles pour ce contrôle. En double-cliquant sur la case à côté de l’événement désirez, Visual Studio générera une méthode associée et vous redirigera dans le code de votre formulaire.

Conseil : il est possible de double-cliquer directement sur le contrôle pour générer sont événement par défaut, dans le cas du bouton, ce sera l’événement Click!

Le code généré devrait ressembler à ceci :

Visual Basic

Public Class frmWinForms
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    End Sub
End Class

C#

    public partial class frmWinForms : Form
    {
        public frmWinForms()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }

Les deux paramètres sont moins importants pour le moment, ce qui est important est que ce code sera exécuté au moment où l’action Click sera posée sur le bouton par l’utilisateur (donc une fois que vous cliquerez sur Start). Vous pouvez mettre ce que vous désirez dans ce bloc de code (entre les accolades), par exemple, changeons la propriété Text de ce même bouton directement dans le code (dynamiquement).

Visual Basic

Public Class frmWinForms
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Button1.Text = "New Text!"
    End Sub
End Class

C#

    public partial class frmWinForms : Form
    {
        public frmWinForms()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            button1.Text = "New Test!";
        }
    }

Note: en C#, la méthode InitializeComponent(); éxecutée dans le constructeur sert à créer le formulaire lui-même, normalement il est rare de mettre du code avant cette méthode.

Button 1 Click event

Voici l’ordre chronologique dans lequel les actions seront effectuées : utilisateur clique sur le bouton -> événement Button1_Click est levé -> le code de l’événement est exécuté.

Est-il possible de changer le nom de variable du bouton pour quelque chose de plus précis que Button1? Absolument! Regardez dans la fenêtre des propriétés et cherchez pour Name. Personnellement, je changerais le nom pour, par exemple, btnCliquer puisque nous n’avons pas d’action précise. Imaginez toutefois que le bouton soit utilisé pour soumettre un formulaire, alors il serait possible de l’appeler btnSubmit. J’utilise la notation btn parce qu’elle m’indique immédiatement à quel objet j’ai affaire lorsque je suis dans le code. Pour nommer le formulaire j’utiliserais donc frmExemple par exemple. Il n’y a pas de nom précis ou de nomenclature obligatoire, mais parfois certaines pratiques peuvent aider à se retrouver.

Donc une fois le bouton renommé, vous pouvez l’utiliser directement dans votre code.

Visual Basic

Public Class frmWinForms
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnClicker.Click
        btnClicker.Text = "New Text!"
    End Sub
End Class

C#

    public partial class frmWinForms : Form
    {
        public frmWinForms()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            btnClicker.Text = "New Test!";
        }
    }

Les contrôles sont assez semblables dans leur fonctionnement.

Note : si votre code ne fonctionne pas, c’est possiblement parce que j’ai changé le nom du formulaire pour frmWindForms, vous pouvez le renommer ou encore simplement copier le code dans le bloc de la méthode.

Méthodes

Les contrôles peuvent avoir des méthodes aussi! Pour vous donner un exemple, j’utiliserai la méthode Hide du bouton. Elle fait exactement ce qui la décrit, elle cache le bouton.

Visual Basic

Public Class frmWinForms
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnClicker.Click
        btnClicker.Text = "New Text!"
        btnClicker.Hide()
    End Sub
End Class

C#

    public partial class frmWinForms : Form
    {
        public frmWinForms()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            btnClicker.Text = "New Test!";
            btnClicker.Hide();
        }
    }

Le résultat final ressemblera à ceci :

Button method hide

Certains contrôles ont davantages de méthodes que d’autres, mais rappelez-vous que les méthodes consituent des action et qu’en Windows Forms, si vous voulez accomplir une tâche précise, demandez-vous toujours qui fera l’action et qui est impliqué pour savoir à quel contrôle il sera nécessaire de demander de l’information ou de faire faire une action. Par exemple, si je veux le contenu d’un TextBox, alors je vais me référer à la propriété Text du TextBox en question. Voyez l’exemple ci-dessous :

Visual Basic

Dim AssignedValue As String = btnMyButton.Text

C#

string AssignedValue = btnMyButton.Text;

Et ensuite?

Nous n’avons vu que deux contrôles jusqu’à maintenant mais il y en a une multitude à explorer. Toutefois, vous devriez avoir une meilleure compréhension du fonctionnement des contrôles sur les Windows Forms. Dans le prochain tutoriel, nous allons découvrir quelques contrôles supplémentaires!

Voici le lien vers la partie 2.

Visual Basic

C#

Next article Comment changer le thème de l'interface dans Visual Studio
Previous article Les classes en Visual Basic/C# - Exercice et solution

Related posts

0 Comments

No Comments Yet!

You can be first to comment this post!

Leave a Comment

Your data will be safe! Your e-mail address will not be published. Also other data will not be shared with third person. Required fields marked as *