Buscar..


Introducción

Primero necesitamos saber qué es un MessageBox ...

El control MessageBox muestra un mensaje con el texto especificado y se puede personalizar especificando una imagen personalizada, títulos y conjuntos de botones (estos conjuntos de botones permiten al usuario elegir más de una respuesta básica de sí / no).

Al crear nuestro propio MessageBox, podemos reutilizar ese Control MessageBox en cualquier aplicación nueva simplemente usando la dll generada o copiando el archivo que contiene la clase.

Sintaxis

  • 'static DialogResult result = DialogResult.No; // DialogResult es devuelto por los diálogos después del despido. '

Creando Control de MessageBox Propio.

Para crear nuestro propio control MessageBox, simplemente siga la guía a continuación ...

  1. Abre tu instancia de Visual Studio (VS 2008/2010/2012/2015/2017)

  2. Vaya a la barra de herramientas en la parte superior y haga clic en Archivo -> Nuevo proyecto -> Aplicación de Windows Forms -> Asigne un nombre al proyecto y luego haga clic en Aceptar.

  3. Una vez cargado, arrastre y suelte un control de botón de la Caja de herramientas (que se encuentra a la izquierda) en el formulario (como se muestra a continuación).

introduzca la descripción de la imagen aquí

  1. Haga doble clic en el botón y el Entorno de desarrollo integrado generará automáticamente el controlador de eventos de clic para usted.

  2. Edite el código del formulario para que tenga el siguiente aspecto (puede hacer clic con el botón derecho en el formulario y hacer clic en Editar código):

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. Explorador de soluciones -> Haga clic derecho en su proyecto -> Agregar -> Windows Form y establezca el nombre como "CustomMsgBox.cs"

  2. Arrastre un control de botón y etiqueta desde la Caja de herramientas hasta el formulario (después de hacerlo tendrá un aspecto similar al formulario siguiente):

introduzca la descripción de la imagen aquí

  1. Ahora escriba el siguiente código en el formulario recién creado:
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. Ahora ejecuta el programa simplemente presionando la tecla F5. Felicitaciones, has hecho un control reutilizable.

Cómo usar el control MessageBox creado en otra aplicación de Windows Form.

Para encontrar sus archivos .cs existentes, haga clic con el botón derecho en el proyecto en su instancia de Visual Studio y haga clic en Abrir carpeta en el Explorador de archivos.

  1. Visual Studio -> Su proyecto actual (Windows Form) -> Explorador de soluciones -> Nombre del proyecto -> Clic derecho -> Agregar -> Elemento existente -> Luego localice su archivo .cs existente.

  2. Ahora hay una última cosa que hacer para usar el control. Agregue una declaración de uso a su código, para que su ensamblaje conozca sus dependencias.

    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. Para mostrar el cuadro de mensaje, simplemente use lo siguiente ...

    CustomMsgBox.Show ("Tu mensaje para el cuadro de mensaje ...", "MSG", "OK");



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow