Neoliskの答えに基づいて拡張するには、SystemIcons.Application
とIntellisenseを見ると、タイプがDrawing.Icon
であることがわかります。
私は最近カスタムメッセージボックスを作成し、同じ問題を抱えていました。私はそうのようなSystemIcons
の特性に合わせて、列挙型を作成し、関係を思い付いた解決策:
Public Enum CustomMessageBoxIcon
Application
Asterisk
[Error]
Exclamation
Hand
Information
Question
Shield
Warning
End Enum
は、これは私が法上のインテリセンスのオプションを与えることができます、だけでなく、彼らは法に送ることができるものを制限します。以下に示す例:
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
はい、これはオプションです。私はそれをCustomMessageBoxIconと呼ぶのではなく、むしろSystemMessageBoxIcon、StandardMessageBoxIconなどと呼んでいます。 「カスタム」は通常、デフォルトの設定が気に入らないことを意味します。 SystemIconsはOSが提供するデフォルトですが。 – Neolisk
ええ、私はあなたのポイントを参照してください名前は、この列挙型は、カスタムアイコンではなく、私のCustomMessageBoxでのみ使用されていることを示すことでした..その変更をしなければならない –