Frage

Gibt es eine Möglichkeit MessageBox.Show zu nennen, die in der Taskleiste angezeigt wird?

Es wäre wahrscheinlich am besten sein, nur ein benutzerdefiniertes Formular erstellen und natürlich angezeigt werden, aber da einen faulen Programmierer ich die Standard-Fehler und Alarmbenachrichtigungssymbole redoing vermeiden mag, dass Sie mit einem guten altmodischen MessageBox.Show Anruf erhalten.

War es hilfreich?

Lösung

Versuchen Sie, die MessageBoxOptions Enum :

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

Hinweis: Es gibt einige Multi-Threading Nebeneffekt der Verwendung dieser, siehe den Artikel Wie aus Daemon einer Benutzeroberfläche anzeigen.

Andere Tipps

Implementieren eines IWin32Window, den Hebel als IntPtr.Zero (Desktop), dann die Box Meldung an diesem Fenster als Mutter.

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;
} 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top