C# Language Création du propre contrôle MessageBox.


Exemple

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.