Recherche…


Introduction

Nous devons d'abord savoir ce qu'est une MessageBox ...

Le contrôle MessageBox affiche un message avec le texte spécifié et peut être personnalisé en spécifiant une image personnalisée, des jeux de titres et de boutons (ces jeux de boutons permettent à l'utilisateur de choisir plus d'une réponse de base oui / non).

En créant notre propre MessageBox, nous pouvons réutiliser ce contrôle MessageBox dans toutes les nouvelles applications en utilisant simplement le dll généré ou en copiant le fichier contenant la classe.

Syntaxe

  • 'statique DialogResult result = DialogResult.No; // DialogResult est renvoyé par des dialogues après le renvoi. '

Création du propre contrôle MessageBox.

Pour créer notre propre contrôle MessageBox, suivez simplement le guide ci-dessous ...

  1. Ouvrez votre instance de Visual Studio (VS 2008/2010/2012/2015/2017)

  2. Allez dans la barre d'outils en haut et cliquez sur Fichier -> Nouveau projet -> Application Windows Forms -> Donnez un nom au projet, puis cliquez sur OK.

  3. Une fois chargé, faites glisser un contrôle de bouton depuis la Boîte à outils (situé à gauche) sur le formulaire (comme indiqué ci-dessous).

entrer la description de l'image ici

  1. Double-cliquez sur le bouton et l'environnement de développement intégré générera automatiquement le gestionnaire d'événements click pour vous.

  2. Modifiez le code du formulaire pour qu'il ressemble à ce qui suit (vous pouvez cliquer avec le bouton droit sur le formulaire et cliquer sur Modifier le code):

namespace MsgBoxExample {
    public partial class MsgBoxExampleForm : Form {
        //Constructor, called when the class is initialised.
        public MsgBoxExampleForm() {
            InitializeComponent();
        }

        //Called whenever the button is clicked.
        private void btnShowMessageBox_Click(object sender, EventArgs e) {
           CustomMsgBox.Show($"I'm a {nameof(CustomMsgBox)}!", "MSG", "OK");
        }
    }
}
  1. Explorateur de solutions -> Clic droit sur votre projet -> Ajouter -> Windows Form et définissez le nom comme "CustomMsgBox.cs"

  2. Faites glisser un contrôle de bouton et d'étiquette de la boîte à outils vers le formulaire (cela ressemblera au formulaire ci-dessous après l'avoir fait):

entrer la description de l'image ici

  1. Maintenant, écrivez le code ci-dessous dans le nouveau formulaire créé:
private DialogResult result = DialogResult.No;
public static DialogResult Show(string text, string caption, string btnOkText) {
    var msgBox = new CustomMsgBox();
    msgBox.lblText.Text = text; //The text for the label...
    msgBox.Text = caption; //Title of form
    msgBox.btnOk.Text = btnOkText; //Text on the button
    //This method is blocking, and will only return once the user
    //clicks ok or closes the form.
    msgBox.ShowDialog(); 
    return result;
}

private void btnOk_Click(object sender, EventArgs e) {
    result = DialogResult.Yes;
    MsgBox.Close();
}
  1. Maintenant, lancez le programme en appuyant simplement sur la touche F5. Félicitations, vous avez fait un contrôle réutilisable.

Comment utiliser son propre contrôle MessageBox créé dans une autre application Windows Form.

Pour trouver vos fichiers .cs existants, cliquez avec le bouton droit sur le projet dans votre instance de Visual Studio, puis cliquez sur Ouvrir un dossier dans l'explorateur de fichiers.

  1. Visual Studio -> Votre projet actuel (Windows Form) -> Explorateur de solutions -> Nom du projet -> Clic droit -> Ajouter -> Elément existant - Recherchez ensuite votre fichier .cs existant.

  2. Maintenant, il y a une dernière chose à faire pour utiliser le contrôle. Ajoutez une instruction using à votre code pour que votre assembly connaisse ses dépendances.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    .
    .
    .
    using CustomMsgBox; //Here's the using statement for our dependency.
    
  3. Pour afficher la boîte de message, utilisez simplement les éléments suivants ...

    CustomMsgBox.Show ("Votre message pour la boîte de message ...", "MSG", "OK");



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow