CoreMessageBox 2025.7.13

dotnet add package CoreMessageBox --version 2025.7.13
                    
NuGet\Install-Package CoreMessageBox -Version 2025.7.13
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CoreMessageBox" Version="2025.7.13" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CoreMessageBox" Version="2025.7.13" />
                    
Directory.Packages.props
<PackageReference Include="CoreMessageBox" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CoreMessageBox --version 2025.7.13
                    
#r "nuget: CoreMessageBox, 2025.7.13"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CoreMessageBox@2025.7.13
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CoreMessageBox&version=2025.7.13
                    
Install as a Cake Addin
#tool nuget:?package=CoreMessageBox&version=2025.7.13
                    
Install as a Cake Tool

CoreMessageBox

Una biblioteca robusta para mostrar mensajes de diálogo en aplicaciones Windows Forms, con soporte para múltiples tipos de mensajes y manejo consistente de errores.

Características Principales

  1. Tipos de Mensajes

    • Mensajes simples
    • Mensajes OK/Cancelar
    • Preguntas
    • Advertencias
    • Errores
    • Errores con excepciones
  2. Características de Mensajes

    • Interfaz genérica para resultados
    • Manejo de estados
    • Soporte para resultados personalizados
    • Documentación integrada
  3. Manejo de Errores

    • Visualización de excepciones
    • Formateo de mensajes de error
    • Manejo consistente de errores
    • Soporte para múltiples niveles de error

Instalación

El paquete se puede instalar usando NuGet:

dotnet add package DotNet.CoreMessageBox

También está disponible en el Visual Studio Package Manager:

Install-Package DotNet.CoreMessageBox

Uso Básico

// Crear una instancia del MessageBox
var messageBox = new WindowsMessageBox();

// Mostrar un mensaje simple
messageBox.ShowMessage("Este es un mensaje simple");

// Mostrar un diálogo OK/Cancelar
var resultado = messageBox.ShowOkCancel("¿Desea continuar?");

// Mostrar una pregunta
resultado = messageBox.ShowQuestion("¿Está seguro?");

// Mostrar una advertencia
messageBox.ShowWarning("Esta acción no se puede deshacer");

// Mostrar un error
messageBox.ShowError("Ha ocurrido un error");

// Mostrar un error con excepción
messageBox.ShowError(new Exception("Error específico"));

// El resultado del diálogo depende del tipo de MessageBox implementado
// Por ejemplo, para WindowsMessageBox devuelve DialogResult
if (resultado == DialogResult.OK)
{
    // Acción cuando se presiona OK
}

## Requisitos

- .NET Framework 4.8
- Windows Forms
- Visual Studio 2019 o superior

## Tipos de Mensajes Disponibles

- `MessageBoxType.Info`: Mensajes informativos
- `MessageBoxType.Warning`: Advertencias
- `MessageBoxType.Error`: Errores
- `MessageBoxType.Question`: Preguntas
- `MessageBoxType.Success`: Éxitos
- `MessageBoxType.Custom`: Personalizado

## Uso

### Mensajes Básicos

```csharp
using CoreMessageBox;

// Mensaje básico
MessageBox.Show("Este es un mensaje", "Título");

// Mensaje con botones personalizados
var result = MessageBox.Show(
    message: "¿Estás seguro que quieres continuar?",
    title: "Confirmación",
    buttons: MessageBoxButtons.YesNo,
    icon: MessageBoxIcon.Question
);

// Manejar el resultado
if (result == DialogResult.Yes)
{
    // Acción cuando el usuario hace clic en Sí
}

Mensajes con Temas

// Configurar tema global
MessageBoxManager.SetTheme(MessageBoxTheme.Light);

// Mostrar mensaje con tema específico
MessageBox.Show(
    message: "Mensaje importante",
    title: "Atención",
    theme: MessageBoxTheme.Warning
);

Mensajes Asíncronos

// Mostrar mensaje asíncrono
await MessageBox.ShowAsync(
    message: "Procesando datos...",
    title: "Progreso",
    buttons: MessageBoxButtons.OKCancel,
    icon: MessageBoxIcon.Information
);

Mensajes con Recursos

// Usar recursos para internacionalización
MessageBox.Show(
    message: Resources.Messages.ProcessingData,
    title: Resources.Messages.ProgressTitle,
    icon: MessageBoxIcon.Information
);

Manejo de Errores

try
{
    // Operación que puede fallar
    await ProcessData();
}
catch (Exception ex)
{
    // Mostrar mensaje de error
    MessageBox.ShowError(
        message: ex.Message,
        title: "Error",
        details: ex.StackTrace
    );
}

Mejores Prácticas

  1. Usar mensajes consistentes en toda la aplicación
  2. Implementar internacionalización para aplicaciones multilenguaje
  3. Manejar estados de manera adecuada
  4. Usar temas para mantener consistencia visual
  5. Manejar errores de manera robusta
  6. Usar mensajes asíncronos para operaciones largas
  7. Documentar los mensajes que se muestran al usuario

Soporte

Para reportar errores o solicitar características, por favor abre un issue en el repositorio de GitHub.

Licencia

Este proyecto está bajo licencia MIT. Consulta el archivo LICENSE para más detalles.

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net9.0-windows7.0 is compatible.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2025.7.13 131 7/14/2025
2025.3.22 166 3/22/2025
2025.3.8 123 3/9/2025
2025.2.1 112 2/1/2025
2024.11.12 120 11/12/2024
2024.10.6 118 10/4/2024
2024.8.13 150 8/14/2024
2024.7.24 132 7/24/2024
2024.7.13 118 7/14/2024
2023.2.18 357 2/19/2023
2023.2.11 287 2/11/2023
2023.1.25 457 1/24/2023
2023.1.24 305 1/23/2023
2023.1.23 313 1/23/2023
2022.10.5 321 10/6/2022