كود :
Imports DevExpress.LookAndFeel
Imports System.ComponentModel
Imports DevExpress.XtraEditors
Imports DevExpress.Utils
Public NotInheritable Class MyXtraMessageBox
Private Sub New()
End Sub
Const DefaultCaption As String = ""
'Const DefaultOwner As IWin32Window = Nothing
Const DefaultButtons As MessageBoxButtons = MessageBoxButtons.OK
Const DefaultIcon As MessageBoxIcon = MessageBoxIcon.None
Const DefaultDefButton As MessageBoxDefaultButton = MessageBoxDefaultButton.Button1
Public Shared Function Show(text As String) As DialogResult
Return Show(CType(Nothing, IWin32Window), text, DefaultCaption, DefaultButtons, DefaultIcon, DefaultDefButton)
End Function
Public Shared Function Show(owner As IWin32Window, text As String) As DialogResult
Return Show(owner, text, DefaultCaption, DefaultButtons, DefaultIcon, DefaultDefButton)
End Function
Public Shared Function Show(text As String, caption As String) As DialogResult
Return Show(CType(Nothing, IWin32Window), text, caption, DefaultButtons, DefaultIcon, DefaultDefButton)
End Function
Public Shared Function Show(owner As IWin32Window, text As String, caption As String) As DialogResult
Return Show(owner, text, caption, DefaultButtons, DefaultIcon, DefaultDefButton)
End Function
Public Shared Function Show(text As String, caption As String, buttons As MessageBoxButtons) As DialogResult
Return Show(CType(Nothing, IWin32Window), text, caption, buttons, DefaultIcon, DefaultDefButton)
End Function
Public Shared Function Show(owner As IWin32Window, text As String, caption As String, buttons As MessageBoxButtons) As DialogResult
Return Show(owner, text, caption, buttons, DefaultIcon, DefaultDefButton)
End Function
Public Shared Function Show(text As String, caption As String, buttons As MessageBoxButtons, icon As MessageBoxIcon) As DialogResult
Return Show(CType(Nothing, IWin32Window), text, caption, buttons, icon, DefaultDefButton)
End Function
Public Shared Function Show(owner As IWin32Window, text As String, caption As String, buttons As MessageBoxButtons, icon As MessageBoxIcon) As DialogResult
Return Show(owner, text, caption, buttons, icon, DefaultDefButton)
End Function
Public Shared Function Show(text As String, caption As String, buttons As MessageBoxButtons, icon As MessageBoxIcon, defaultButton As MessageBoxDefaultButton) As DialogResult
Return Show(CType(Nothing, IWin32Window), text, caption, buttons, icon, defaultButton)
End Function
Public Shared Function Show(owner As IWin32Window, text As String, caption As String, buttons As MessageBoxButtons, icon As MessageBoxIcon, defaultButton As MessageBoxDefaultButton) As DialogResult
Return Show(owner, text, caption, MessageBoxButtonsToDialogResults(buttons), MessageBoxIconToIcon(icon), MessageBoxDefaultButtonToInt(defaultButton), _
icon)
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, text As String) As DialogResult
Return Show(lookAndFeel, CType(Nothing, IWin32Window), text, DefaultCaption, DefaultButtons, DefaultIcon, _
DefaultDefButton)
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, owner As IWin32Window, text As String) As DialogResult
Return Show(lookAndFeel, owner, text, DefaultCaption, DefaultButtons, DefaultIcon, _
DefaultDefButton)
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, text As String, caption As String) As DialogResult
Return Show(lookAndFeel, CType(Nothing, IWin32Window), text, caption, DefaultButtons, DefaultIcon, _
DefaultDefButton)
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, owner As IWin32Window, text As String, caption As String) As DialogResult
Return Show(lookAndFeel, owner, text, caption, DefaultButtons, DefaultIcon, _
DefaultDefButton)
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, text As String, caption As String, buttons As MessageBoxButtons) As DialogResult
Return Show(lookAndFeel, CType(Nothing, IWin32Window), text, caption, buttons, DefaultIcon, _
DefaultDefButton)
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, owner As IWin32Window, text As String, caption As String, buttons As MessageBoxButtons) As DialogResult
Return Show(lookAndFeel, owner, text, caption, buttons, DefaultIcon, _
DefaultDefButton)
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, text As String, caption As String, buttons As MessageBoxButtons, icon As MessageBoxIcon) As DialogResult
Return Show(lookAndFeel, CType(Nothing, IWin32Window), text, caption, buttons, icon, _
DefaultDefButton)
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, owner As IWin32Window, text As String, caption As String, buttons As MessageBoxButtons, icon As MessageBoxIcon) As DialogResult
Return Show(lookAndFeel, owner, text, caption, buttons, icon, _
DefaultDefButton)
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, text As String, caption As String, buttons As MessageBoxButtons, icon As MessageBoxIcon, defaultButton As MessageBoxDefaultButton) As DialogResult
Return Show(lookAndFeel, CType(Nothing, IWin32Window), text, caption, buttons, icon, _
defaultButton)
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, owner As IWin32Window, text As String, caption As String, buttons As MessageBoxButtons, icon As MessageBoxIcon, _
defaultButton As MessageBoxDefaultButton) As DialogResult
Return Show(lookAndFeel, owner, text, caption, MessageBoxButtonsToDialogResults(buttons), MessageBoxIconToIcon(icon), _
MessageBoxDefaultButtonToInt(defaultButton), icon)
End Function
Private Shared Function MessageBoxButtonsToDialogResults(buttons As MessageBoxButtons) As DialogResult()
If Not [Enum].IsDefined(GetType(MessageBoxButtons), buttons) Then
Throw New InvalidEnumArgumentException("buttons", CInt(buttons), GetType(DialogResult))
End If
Select Case buttons
Case MessageBoxButtons.OK
Return New DialogResult() {DialogResult.OK}
Case MessageBoxButtons.OKCancel
Return New DialogResult() {DialogResult.OK, DialogResult.Cancel}
Case MessageBoxButtons.AbortRetryIgnore
Return New DialogResult() {DialogResult.Abort, DialogResult.Retry, DialogResult.Ignore}
Case MessageBoxButtons.RetryCancel
Return New DialogResult() {DialogResult.Retry, DialogResult.Cancel}
Case MessageBoxButtons.YesNo
Return New DialogResult() {DialogResult.Yes, DialogResult.No}
Case MessageBoxButtons.YesNoCancel
Return New DialogResult() {DialogResult.Yes, DialogResult.No, DialogResult.Cancel}
Case Else
Throw New ArgumentException("buttons")
End Select
End Function
Private Shared Function MessageBoxIconToIcon(icon As MessageBoxIcon) As Icon
If Not [Enum].IsDefined(GetType(MessageBoxIcon), icon) Then
Throw New InvalidEnumArgumentException("icon", CInt(icon), GetType(DialogResult))
End If
Select Case icon
Case MessageBoxIcon.None
Return Nothing
Case MessageBoxIcon.[Error]
Return SystemIcons.[Error]
Case MessageBoxIcon.Exclamation
Return SystemIcons.Exclamation
Case MessageBoxIcon.Information
Return SystemIcons.Information
Case MessageBoxIcon.Question
Return SystemIcons.Question
Case Else
Throw New ArgumentException("icon")
End Select
End Function
Private Shared Function MessageBoxDefaultButtonToInt(defButton As MessageBoxDefaultButton) As Integer
If Not [Enum].IsDefined(GetType(MessageBoxDefaultButton), defButton) Then
Throw New InvalidEnumArgumentException("defaultButton", CInt(defButton), GetType(DialogResult))
End If
Select Case defButton
Case MessageBoxDefaultButton.Button1
Return 0
Case MessageBoxDefaultButton.Button2
Return 1
Case MessageBoxDefaultButton.Button3
Return 2
Case Else
Throw New ArgumentException("defaultButton")
End Select
End Function
Public Shared Function Show(lookAndFeel As UserLookAndFeel, owner As IWin32Window, text As String, caption As String, buttons As DialogResult(), icon As Icon, _
defaultButton As Integer, messageBeepSound As MessageBoxIcon) As DialogResult
Dim form As New XtraMessageBoxForm()
'Dim defaultFont As Font = AppearanceObject.DefaultFont
'AppearanceObject.DefaultFont = New Font("Khalid Art bold", 12, FontStyle.Bold)
form.Appearance.Font = MessageFont
form.AssignButtonsFont = True
Return form.ShowMessageBoxDialog(New XtraMessageBoxArgs(lookAndFeel, owner, text, caption, buttons, icon, _
defaultButton))
End Function
Public Shared Function Show(owner As IWin32Window, text As String, caption As String, buttons As DialogResult(), icon As Icon, defaultButton As Integer, _
messageBeepSound As MessageBoxIcon) As DialogResult
Return Show(Nothing, owner, text, caption, buttons, icon, _
defaultButton, messageBeepSound)
End Function
Shared _AllowCustomLookAndFeel As Boolean = False
Public Shared Property AllowCustomLookAndFeel() As Boolean
Get
Return _AllowCustomLookAndFeel
End Get
Set(value As Boolean)
_AllowCustomLookAndFeel = value
End Set
End Property
Private Shared _MessageFont As Font = New Font("Khalid Art bold", 12) ' AppearanceObject.DefaultFont
Public Shared Property MessageFont() As Font
Get
Return _MessageFont
End Get
Set(value As Font)
_MessageFont = value
End Set
End Property
End Class