Um auf Neolisk's Antwort zu erweitern, wenn Sie SystemIcons.Application
mit Intellisense anzeigen, können Sie sehen, dass es vom Typ Drawing.Icon
ist.
Ich habe vor kurzem eine benutzerdefinierte Nachricht erstellt und über das gleiche Problem, das Sie haben. Die Lösung kam ich mit auf eine Enum Schaffung der SystemIcons
Eigenschaften wie so passen:
Public Enum CustomMessageBoxIcon
Application
Asterisk
[Error]
Exclamation
Hand
Information
Question
Shield
Warning
End Enum
Dies ermöglicht es mir Intellisense Optionen auf der Methode zu geben, sowie die Beschränkung, was sie in die Methode senden. Beispiel unten gezeigt:
Private Shared Function GetIconFromEnumOptions(ByVal icon As CustomMessageBoxIcon) As Icon
Select Case icon
Case CustomMessageBoxIcon.Application
Return SystemIcons.Application
Case CustomMessageBoxIcon.Asterisk
Return SystemIcons.Asterisk
Case CustomMessageBoxIcon.Error
Return SystemIcons.[Error]
Case CustomMessageBoxIcon.Exclamation
Return SystemIcons.Exclamation
Case CustomMessageBoxIcon.Hand
Return SystemIcons.Hand
Case CustomMessageBoxIcon.Information
Return SystemIcons.Information
Case CustomMessageBoxIcon.Question
Return SystemIcons.Question
Case CustomMessageBoxIcon.Shield
Return SystemIcons.Shield
Case CustomMessageBoxIcon.Warning
Return SystemIcons.Warning
Case Else
Return SystemIcons.WinLogo
End Select
End Function
Ja, das ist eine Option. Ich würde es nicht CustomMessageBoxIcon und eher SystemMessageBoxIcon, StandardMessageBoxIcon oder ähnliches nennen. "Benutzerdefiniert" bedeutet normalerweise, dass Sie nicht mögen, was der Standard ist, also haben Sie Ihr eigenes erstellt. Während SystemIcons der Standard ist, den OS bietet. – Neolisk
Ja, ich sehe Ihren Punkt, aber der Name war nur um zu zeigen, dass diese Enum nur von meiner CustomMessageBox verwendet wird, anstatt dass es ein benutzerdefiniertes Icon ist. Sollte sich das ändern, dann ändert sich auch der Name –