Szukaj…


Wprowadzenie

Najpierw musimy wiedzieć, czym jest MessageBox ...

Formant MessageBox wyświetla komunikat z określonym tekstem i można go dostosować, określając niestandardowy obraz, tytuł i zestawy przycisków (te zestawy przycisków pozwalają użytkownikowi wybrać więcej niż podstawową odpowiedź tak / nie).

Tworząc własny MessageBox, możemy ponownie użyć tego formantu MessageBox we wszystkich nowych aplikacjach, po prostu używając wygenerowanej biblioteki DLL lub kopiując plik zawierający klasę.

Składnia

  • 'statyczny wynik DialogResult = DialogResult.No; // DialogResult jest zwracany przez okna dialogowe po zwolnieniu. '

Tworzenie własnej kontrolki MessageBox.

Aby utworzyć własną kontrolkę MessageBox, postępuj zgodnie z poniższym przewodnikiem ...

  1. Otwórz instancję programu Visual Studio (VS 2008/2010/2012/2015/2017)

  2. Przejdź do paska narzędzi u góry i kliknij Plik -> Nowy projekt -> Aplikacja Windows Forms -> Nadaj projektowi nazwę, a następnie kliknij OK.

  3. Po załadowaniu przeciągnij i upuść formant przycisku z Przybornika (znajdujący się po lewej stronie) na formularz (jak pokazano poniżej).

wprowadź opis zdjęcia tutaj

  1. Kliknij dwukrotnie przycisk, a zintegrowane środowisko programistyczne automatycznie wygeneruje procedurę obsługi zdarzenia kliknięcia.

  2. Edytuj kod formularza, aby wyglądał następująco (Możesz kliknąć formularz prawym przyciskiem myszy i kliknąć Edytuj kod):

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 -> Kliknij projekt prawym przyciskiem myszy -> Dodaj -> Windows Form i ustaw nazwę jako „CustomMsgBox.cs”

  2. Przeciągnij przycisk i kontrolkę etykiety z Przybornika do formularza (po wykonaniu będzie wyglądał podobnie do poniższego formularza):

wprowadź opis zdjęcia tutaj

  1. Teraz napisz poniższy kod do nowo utworzonego formularza:
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. Teraz uruchom program, naciskając klawisz F5. Gratulacje, masz kontrolę wielokrotnego użytku.

Jak używać własnej kontrolki MessageBox w innej aplikacji Windows Form.

Aby znaleźć istniejące pliki .cs, kliknij prawym przyciskiem myszy projekt w instancji programu Visual Studio, a następnie kliknij polecenie Otwórz folder w Eksploratorze plików.

  1. Visual Studio -> Twój bieżący projekt (formularz Windows) -> Eksplorator rozwiązań -> Nazwa projektu -> Kliknij prawym przyciskiem myszy -> Dodaj -> Istniejący element -> Następnie zlokalizuj istniejący plik .cs.

  2. Teraz jest ostatnia rzecz do zrobienia, aby użyć kontroli. Dodaj instrukcję using do swojego kodu, aby twój zespół wiedział o swoich zależnościach.

    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. Aby wyświetlić okno komunikatu, po prostu użyj następujących ...

    CustomMsgBox.Show („Twoja wiadomość do skrzynki wiadomości ...”, „MSG”, „OK”);



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow