Zoeken…


Invoering

Eerst moeten we weten wat een MessageBox is ...

Het besturingselement MessageBox geeft een bericht met specifieke tekst weer en kan worden aangepast door een aangepaste afbeelding, titel en knopensets op te geven (met deze knopsets kan de gebruiker meer dan een standaard ja / nee-antwoord kiezen).

Door onze eigen MessageBox te maken, kunnen we die MessageBox Control opnieuw gebruiken in nieuwe toepassingen door de gegenereerde dll te gebruiken of door het bestand met de klasse te kopiëren.

Syntaxis

  • 'statisch DialogResult result = DialogResult.No; // DialogResult wordt teruggegeven door dialoogvensters na ontslag. '

Eigen MessageBox-besturing maken.

Volg de onderstaande gids om ons eigen MessageBox-besturingselement te maken ...

  1. Open uw exemplaar van Visual Studio (VS 2008/2010/2012/2015/2017)

  2. Ga naar de werkbalk bovenaan en klik op Bestand -> Nieuw project -> Windows Forms-toepassing -> Geef het project een naam en klik vervolgens op OK.

  3. Eenmaal geladen, sleept u een knopbesturing vanuit de Toolbox (aan de linkerkant) naar het formulier (zoals hieronder weergegeven).

voer hier de afbeeldingsbeschrijving in

  1. Dubbelklik op de knop en de Integrated Development Environment genereert automatisch de click event-handler voor u.

  2. Bewerk de code voor het formulier zodat deze er als volgt uitziet (U kunt met de rechtermuisknop op het formulier klikken en op Code bewerken klikken):

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. Solution Explorer -> Klik met de rechtermuisknop op uw project -> Toevoegen -> Windows-formulier en stel de naam in als "CustomMsgBox.cs"

  2. Sleep een knop- en labelbesturingselement vanuit de Toolbox naar het formulier (het ziet er ongeveer uit als het onderstaande formulier):

voer hier de afbeeldingsbeschrijving in

  1. Schrijf nu de onderstaande code in het nieuw gemaakte formulier:
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. Voer het programma nu uit door op F5 te drukken. Gefeliciteerd, je hebt een herbruikbare controle gemaakt.

Hoe een eigen aangemaakt MessageBox-besturingselement in een andere Windows Form-toepassing te gebruiken.

Klik met de rechtermuisknop op het project in uw exemplaar van Visual Studio en klik op Map openen in Verkenner om uw bestaande .cs-bestanden te vinden.

  1. Visual Studio -> Uw huidige project (Windows-formulier) -> Solution Explorer -> Projectnaam -> Klik met de rechtermuisknop -> Toevoegen -> Bestaand item -> Zoek vervolgens uw bestaande .cs-bestand.

  2. Nu is er nog een laatste ding om te doen om de besturing te gebruiken. Voeg een gebruiksinstructie toe aan uw code, zodat uw vergadering op de hoogte is van de afhankelijkheden.

    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. Gebruik het volgende om de berichtenbox weer te geven ...

    CustomMsgBox.Show ("Uw bericht voor berichtenbox ...", "MSG", "OK");



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow