Code - Financial Independence

Visual Basic/C# – Gestion de plusieurs formulaires Windows

Pourquoi est-ce important?

Parfois il peut être utile d’avoir plusieurs formulaires Windows dans un seul projet. Par exemple lorsque l’on manque d’espace sur le formulaire courant ou pour séparer logiquement les tâches qu’un utilisateur doit accomplir. Ceci peut par le fait même simplifier l’interaction avec le programme. Gérer plusieurs formulaires peut sembler complexe programmeur mais ne l’est pas totalement!

Création d’un nouveau formulaire

La création d’un nouveau formulaire dans votre projet est aussi simple que de créer une nouvelle classe :

1. Cliquer-droit sur votre projet;
2. Selectionner Add New Item;

Create New Item

3. Selectionner dans la liste : Windows Form;
4. Donnez-lui un nom significatif.

Add New Form - Ajouter nouveau formulaire

Démarrage du nouveau formulaire

Une fois votre nouveau formulaire créé, vous pourrez le traîter exactement comme une classe en le déclarant et l’initialisant depuis le parent.

Nous allons ajouter un nouveau bouton dans notre formulaire parent pour pouvoir démarrer le formulaire enfant. Selectionnez le bouton depuis la boîte à outils et glissez le sur le formulaire parent. Double-cliquez ensuite sur le bouton pour créer un événement par défaut qui sera le Click.

Comme mentionné dans les tutoriels précédents, je vous suggère fortement de renommer votre bouton en changeant la propriété (name) de ce dernier. Voici ce que ça devrait donner :

Rename Button - Renommer bouton

Pour démarrer le formulaire enfant, vous devez en créer une instance et appeler la méthode Show() comme démontré ci-dessous.

C#

private void btnChildFormLauncher_Click(object sender, EventArgs e)
{
     frmChild ChildForm = new frmChild();

     ChildForm.Show();
}

Visual Basic

Public Class frmDashboard
    Private Sub btnChildFormLauncher_Click(sender As Object, e As EventArgs) Handles btnChildFormLauncher.Click
        Dim ChildForm = New frmChild()

        ChildForm.Show()
    End Sub
End Class

Il y a bien sûr davantage aux formulaires enfants

Évoila pour la création de formulaires enfants! Toutefois il est possible de faire beaucoup plus. Voyons maintenant comment passer un ou plusieurs paramètres à ce formulaire. Ceci peut être utile pour créer un lien avec le parent de sorte qu’il puisse modifier ou envoyer un objet à l’enfant. Par exemple si vous créez une application de modification d’information client, ce nouveau formulaire pourrait recevoir l’identifiant du client pour le charger par la suite.

Simplifions cet exemple et passons le titre du formulaire plutôt. Le code suivant montre comment modifier le second formulaire pour qu’il accepte les paramètres dans son constructeur, bref, comme une classe! (Veuillez noter que votre namespace pourrait être différent selon le titre de votre projet ou l’endroit où est placée la classe).

C#

using System.Windows.Forms;

namespace MultipleForms
{
    public partial class frmChild : Form
    {
        public frmChild(string FormName)
        {
            InitializeComponent();
            
            //Assignez le texte passé en paramètre
            this.Text = FormName;
        }
    }
}

Visual Basic

Public Class frmChild
    Public Sub New(ByVal FormName As String)
        'Assignez le texte passé en paramètre
        Me.Text = FormName
    End Sub
End Class

Si vous tentez de faire un build de votre solution en ce moment, vous verrez une erreur. Elle provient du fait qu’il vous manque un paramètre dans le constructeur lors de l’initialisation du formulaire enfant à l’intérieur du formulaire parent.

Missing parameter - Paramètre manquant

Simplement ajouter le paramètre manquant en question dans le constructeur et le tour est joué! Voyez la différence avec l’exemple de code précédent.

C#

private void btnChildFormLauncher_Click(object sender, EventArgs e)
{
    frmChild ChildForm = new frmChild("Hello Everyone!");

    ChildForm.Show();
}

Visual Basic

Public Class frmDashboard
    Private Sub btnChildFormLauncher_Click(sender As Object, e As EventArgs) Handles btnChildFormLauncher.Click
        Dim ChildForm = New frmChild("Hello Everyone!")

        ChildForm.Show()
    End Sub
End Class

Finalement, vous pouvez démarrer votre projet et cliquer sur le bouton pour lancer le formulaire enfant. Vous devriez avoir un résultat semblable à celui ci-dessous.

Second Form - Deuxième formulaire

Il y a encore plus!

Lancer une autre Windows Form d’un formulaire parent est relativement facile et peut être très utile pour améliorer la qualité de l’intéraction entre votre application et votre client. Il y a bien entendu plus à savoir sur le sujet comme la création d’événements de fermeture. Je traiterai de divers autres sujets relativement aux formulaires au cours d’autres tutoriels. Si vous avez des questions, sentez-vous à l’aise de les demander dans les commentaires!

Youtube

Voyez les vidéos associés à ce post.

C#

Visual Basic

Next article Comment rebalancer son portfolio?!
Previous article Standards de Code - Mot-clé Var en C#

Related posts

0 Comments

No Comments Yet!

You can be first to comment this post!

Leave a Comment

*