Pregunta

¿Hay alguna forma de llamar a MessageBox, que aparece en la barra de tareas?

Probablemente sería mejor crear un formulario personalizado y mostrarlo, por supuesto, pero como soy un programador perezoso, quiero evitar rehacer los iconos predeterminados de notificación de error y alerta que obtienes con una buena llamada MessageBox.Show. / p>

¿Fue útil?

Solución

Intente usar la MessageBoxOptions enum :

MessageBox.Show("Test", "Test", MessageBoxButtons.OK, MessageBoxIcon.Information,
    MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);

Nota: Hay algunos efectos secundarios de subprocesos múltiples para el uso de esto, consulte el artículo Cómo mostrar una interfaz de usuario desde un daemon .

Otros consejos

Implemente un IWin32Window, devuelva el identificador como IntPtr.Zero (escritorio), luego muestre el cuadro de mensaje con esa ventana como padre.

private static Image GetImage(MessageBoxIcon icon)
{
    switch (icon)
    {
        case MessageBoxIcon.Error:
            return System.Drawing.SystemIcons.Error.ToBitmap();
        case MessageBoxIcon.Exclamation:
            return System.Drawing.SystemIcons.Exclamation.ToBitmap();
        case MessageBoxIcon.Information:
            return System.Drawing.SystemIcons.Information.ToBitmap();
        case MessageBoxIcon.Question:
            return System.Drawing.SystemIcons.Question.ToBitmap();
    }
    return null;
} 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top