Suche…


Einführung

Zuerst müssen wir wissen, was eine MessageBox ist ...

Das MessageBox-Steuerelement zeigt eine Nachricht mit dem angegebenen Text an und kann durch Angabe eines benutzerdefinierten Bilds, Titels und Schaltflächensets angepasst werden (Diese Tastensätze ermöglichen es dem Benutzer, mehr als eine einfache Ja / Nein-Antwort auszuwählen).

Durch Erstellen unserer eigenen MessageBox können Sie das MessageBox-Steuerelement in neuen Anwendungen wiederverwenden, indem Sie einfach die generierte DLL verwenden oder die Datei mit der Klasse kopieren.

Syntax

  • 'statisches DialogResult Ergebnis = DialogResult.No; // DialogResult wird nach der Entlassung von Dialogen zurückgegeben. '

Eigenes MessageBox-Steuerelement erstellen.

Um unser eigenes MessageBox-Steuerelement zu erstellen, folgen Sie einfach der folgenden Anleitung ...

  1. Öffnen Sie Ihre Instanz von Visual Studio (VS 2008/2010/2012/2015/2017).

  2. Gehen Sie zur Symbolleiste oben und klicken Sie auf Datei -> Neues Projekt -> Windows Forms-Anwendung -> Geben Sie dem Projekt einen Namen und klicken Sie dann auf OK.

  3. Ziehen Sie nach dem Laden ein Button-Steuerelement aus der Toolbox (links) auf das Formular (wie unten gezeigt).

Geben Sie hier die Bildbeschreibung ein

  1. Doppelklicken Sie auf die Schaltfläche. Die Integrierte Entwicklungsumgebung generiert automatisch den Click-Ereignishandler für Sie.

  2. Bearbeiten Sie den Code für das Formular, sodass es wie folgt aussieht (Sie können mit der rechten Maustaste auf das Formular klicken und auf Code bearbeiten klicken):

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. Projektmappen-Explorer -> Klicken Sie mit der rechten Maustaste auf Ihr Projekt -> Hinzufügen -> Windows Form, und legen Sie den Namen "CustomMsgBox.cs" fest.

  2. Ziehen Sie ein Schaltflächen- und Beschriftungssteuerelement aus der Toolbox in das Formular (es wird ungefähr so ​​aussehen wie das folgende Formular):

Geben Sie hier die Bildbeschreibung ein

  1. Schreiben Sie nun den folgenden Code in das neu erstellte Formular:
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. Starten Sie nun das Programm, indem Sie einfach die Taste F5 drücken. Glückwunsch, Sie haben eine wiederverwendbare Kontrolle vorgenommen.

Wie Verwenden eines eigenen MessageBox-Steuerelements in einer anderen Windows Form-Anwendung

Um Ihre vorhandenen CS-Dateien zu finden, klicken Sie mit der rechten Maustaste auf das Projekt in Ihrer Instanz von Visual Studio, und klicken Sie im Datei-Explorer auf Ordner öffnen.

  1. Visual Studio -> Ihr aktuelles Projekt (Windows Form) -> Projektmappen-Explorer -> Projektname -> Rechtsklick -> Hinzufügen -> Vorhandenes Element -> Suchen Sie dann Ihre vorhandene CS-Datei.

  2. Jetzt muss noch ein letztes Mal getan werden, um das Steuerelement zu verwenden. Fügen Sie Ihrem Code eine using-Anweisung hinzu, damit Ihre Assembly über ihre Abhängigkeiten Bescheid weiß.

    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. Um die Messagebox anzuzeigen, verwenden Sie einfach folgendes ...

    CustomMsgBox.Show ("Ihre Nachricht für das Meldungsfeld ...", "MSG", "OK");



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow