1. Place a 'place holder' control in asp.net page and 
2. call the class below with setting values for the properties
sample:
Dim newBox As MessageBox = New MessageBox()
newBox.MessageBoxButton = 2
newBox.MessageBoxTop = 150
newBox.MessageBoxLeft = 50
newBox.MessageBoxWidth = 500
newBox.MessageBoxHeight = 150
newBox.MessageBoxButtonWidth = 50
newBox.MessageBoxIDYes = "yesno"
newBox.MessageBoxIDNo = "yesno"
newBox.MessageBoxButtonYesText = "Continue"
newBox.MessageBoxButtonNoText = "Cancel"
NewBox.MessageBoxTitle = "Postcode has been covered."
newBox.MessageBoxMessage = aMessage '"Do you want to continue?"
newBox.MessageBoxImage = "images/information.gif"
PlaceHolder1.Controls.Add(newBox)
'Main Class here
Imports Microsoft.VisualBasic
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.IO
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Drawing.Drawing2D
Public Class js
    Public Function js()
    End Function
End Class
Public Class MessageBox
    Inherits WebControl
    Private strLeft As String
    Private strTop As String
    Private intButton As Integer
    Private strMessage As String
    Private strTitle As String
    Private strImage As String
    Private strCss As String
    Private strCssTitle As String
    Private strCssMessage As String
    Private strButtonYes As String
    Private strButtonNo As String
    Private strButtonCancel As String
    Private strButtonWidth As Integer
    Private strMessageBoxIDYes As String
    Private strMessageBoxIDNo As String
    Private strMessageBoxIDCancel As String
    Private intMessageBoxWidth As Integer
    Private intMessageBoxHeight As Integer
    Private intMessageBoxImageWidth As Integer
    Private intMessageBoxImageHeight As Integer
    Dim homedirectory As String
    Private strMessageBoxWidth As String
    '   Message box left position
#Region "properties"
    Public Property MessageBoxLeft() As String
        Get
            Return strLeft
        End Get
        Set(ByVal Value As String)
            strLeft = Value
        End Set
    End Property
    '   Message box top position
    Public Property MessageBoxTop() As String
        Get
            Return strTop
        End Get
        Set(ByVal Value As String)
            strTop = Value
        End Set
    End Property
    '   Number of buttons you want to display in the message box
    Public Property MessageBoxButton() As Integer
        Get
            Return intButton
        End Get
        Set(ByVal Value As Integer)
            intButton = Value
        End Set
    End Property
    '   Customize message you want to display in the message box
    Public Property MessageBoxMessage() As String
        Get
            Return strMessage
        End Get
        Set(ByVal Value As String)
            strMessage = Value
        End Set
    End Property
    '   Title you want to display in the message box
    Public Property MessageBoxTitle() As String
        Get
            Return strTitle
        End Get
        Set(ByVal Value As String)
            strTitle = Value
        End Set
    End Property
    '   Image you want to display in the message box (like information / warning)
    Public Property MessageBoxImage() As String
        Get
            Return strImage
        End Get
        Set(ByVal Value As String)
            strImage = Value
        End Set
    End Property
    '   Message box ID for Yes button
    Public Property MessageBoxIDYes() As String
        Get
            Return strMessageBoxIDYes
        End Get
        Set(ByVal Value As String)
            strMessageBoxIDYes = Value
        End Set
    End Property
    '   Message box ID for No button
    Public Property MessageBoxIDNo() As String
        Get
            Return strMessageBoxIDNo
        End Get
        Set(ByVal Value As String)
            strMessageBoxIDNo = Value
        End Set
    End Property
    '   Message box ID for Cancel button
    Public Property MessageBoxIDCancel() As String
        Get
            Return strMessageBoxIDCancel
        End Get
        Set(ByVal Value As String)
            strMessageBoxIDCancel = Value
        End Set
    End Property
    '   Style you want to incorporate for message box
    Public Property MessageBoxCss() As String
        Get
            Return strCss
        End Get
        Set(ByVal Value As String)
            strCss = Value
        End Set
    End Property
    Public Property MessageBoxCssTitle() As String
        Get
            Return strCssTitle
        End Get
        Set(ByVal Value As String)
            strCssTitle = Value
        End Set
    End Property
    Public Property MessageBoxCssMessage() As String
        Get
            Return strCssMessage
        End Get
        Set(ByVal Value As String)
            strCssMessage = Value
        End Set
    End Property
    '   Message box Text for Yes button
    Public Property MessageBoxButtonYesText() As String
        Get
            Return strButtonYes
        End Get
        Set(ByVal Value As String)
            strButtonYes = Value
        End Set
    End Property
    '   Message box Text for No button
    Public Property MessageBoxButtonNoText() As String
        Get
            Return strButtonNo
        End Get
        Set(ByVal Value As String)
            strButtonNo = Value
        End Set
    End Property
    '   Message box Text for Cancel button
    Public Property MessageBoxButtonCancelText() As String
        Get
            Return strButtonCancel
        End Get
        Set(ByVal Value As String)
            strButtonCancel = Value
        End Set
    End Property
    '   Message box buttons width
    Public Property MessageBoxButtonWidth() As Integer
        Get
            Return strButtonWidth
        End Get
        Set(ByVal Value As Integer)
            strButtonWidth = Value
        End Set
    End Property
    ''   Message box width
    'Public Property MessageBoxWidth() As Integer
    '    Get
    '        Return intMessageBoxWidth
    '    End Get
    '    Set(ByVal Value As Integer)
    '        intMessageBoxWidth = Value
    '    End Set
    'End Property
    '   Message box width
    Public Property MessageBoxWidth() As String
        Get
            Return strMessageBoxWidth
        End Get
        Set(ByVal Value As String)
            strMessageBoxWidth = Value
        End Set
    End Property
    '   Message box height
    Public Property MessageBoxHeight() As Integer
        Get
            Return intMessageBoxHeight
        End Get
        Set(ByVal Value As Integer)
            intMessageBoxHeight = Value
        End Set
    End Property
    '   Message box image width
    Public Property MessageBoxImageWidth() As Integer
        Get
            Return intMessageBoxImageWidth
        End Get
        Set(ByVal Value As Integer)
            intMessageBoxImageWidth = Value
        End Set
    End Property
    '   Message box image height
    Public Property MessageBoxImageHeight() As Integer
        Get
            Return intMessageBoxImageHeight
        End Get
        Set(ByVal Value As Integer)
            intMessageBoxImageHeight = Value
        End Set
    End Property
#End Region
    Protected Friend layer As HtmlGenericControl
    Protected Friend ilayer As HtmlGenericControl
    Protected Friend img As HtmlGenericControl
    Protected Friend div As HtmlGenericControl
    Protected Friend ButtonOK As Button
    Protected Friend ButtonYes As Button
    Protected Friend ButtonNo As Button
    Protected Friend ButtonCancel As Button
    Protected Alertimage As System.Web.UI.WebControls.Image
    Public Sub New()
        MyBase.New("div")
    End Sub
    Protected Overrides Sub OnInit(ByVal e As EventArgs)
        MyBase.OnInit(e)
        '   Default properties settings for message box control
        If strLeft Is Nothing Then
            strLeft = "250"
        End If
        If strTop Is Nothing Then
            strTop = "250"
        End If
        If strTitle Is Nothing Then
            strTitle = "MessageBox"
        End If
        If intButton < 0 Then
            intButton = 1
        End If
        If strMessageBoxIDYes Is Nothing Then
            strMessageBoxIDYes = "MessageBoxIDYes"
        End If
        If strMessageBoxIDNo Is Nothing Then
            strMessageBoxIDNo = "MessageBoxIDNo"
        End If
        If strMessageBoxIDCancel Is Nothing Then
            strMessageBoxIDCancel = "MessageBoxIDCancel"
        End If
        If strCss Is Nothing Then
            strCss = ""
        End If
        If strCssMessage Is Nothing Then
            strCssMessage = ""
        End If
        If strCssTitle Is Nothing Then
            strCssTitle = ""
        End If
        If strMessage Is Nothing Then
            strMessage = "No message to display here."
        End If
        If intButton = 1 Or intButton > 3 Or intButton < 1 Then
            If strButtonYes Is Nothing Then
                strButtonYes = "OK"
            End If
        ElseIf intButton > 1 And intButton < 4 Then
            If strButtonYes Is Nothing Then
                strButtonYes = "Approve"
            End If
            If strButtonNo Is Nothing Then
                strButtonNo = "Cancel"
            End If
            If strButtonCancel Is Nothing Then
                strButtonCancel = "Ignore"
            End If
        End If
        If strButtonWidth < 5 Then
            strButtonWidth = 70
        End If
        If intMessageBoxWidth < 10 Then
            intMessageBoxWidth = 250
        End If
        If intMessageBoxHeight < 1 Then
            intMessageBoxHeight = 8
        End If
        If intMessageBoxImageWidth < 5 Then
            intMessageBoxImageWidth = 36
        End If
        If intMessageBoxImageHeight < 5 Then
            intMessageBoxImageHeight = 36
        End If
        If homedirectory Is Nothing Then
            homedirectory = Me.Page.Request.PhysicalApplicationPath
        End If
    End Sub
#Region "createChildControls"
    Protected Overrides Sub createChildControls()
        '   Creating message box
        Dim myRow As TableRow
        Dim myCell As TableCell
        Dim myTable As Table = New Table()
        myTable.BorderWidth = New Unit(0)
        myTable.CellSpacing = 0
        myTable.Width = New Unit(intMessageBoxWidth)
        myTable.Height = New Unit(intMessageBoxHeight)
        Controls.Add(myTable)
        myRow = New TableRow()
        myRow.BorderWidth = New Unit(0)
        myTable.Rows.Add(myRow)
        myCell = New TableCell()
        Dim NewLabel As Label = New Label()
        NewLabel.Text = strTitle
        NewLabel.CssClass = strCssTitle
        myCell.Controls.Add(NewLabel)
        myCell.ID = "dragbar"
        myCell.ColumnSpan = 5
        myCell.CssClass = strCssTitle
        If strCssTitle = "" Then
            myCell.ForeColor = System.Drawing.Color.White
            myCell.BackColor = System.Drawing.Color.DarkBlue
            myCell.Font.Name = "Verdana"
            myCell.Font.Bold = True
            myCell.Font.Size = New FontUnit(8)
            myCell.Style.Add("CURSOR", "hand")
        End If
        myRow.Cells.Add(myCell)
        myRow = New TableRow()
        myRow.BorderWidth = New Unit(0)
        myTable.Rows.Add(myRow)
        myCell = New TableCell()
        myCell.ColumnSpan = 5
        myCell.CssClass = strCssMessage
        If strCssMessage = "" Then
            myCell.BackColor = System.Drawing.Color.LightGray
        End If
        myRow.Cells.Add(myCell)
        Dim myRow1 As TableRow
        Dim myCell1 As TableCell
        Dim myTable1 As Table = New Table()
        myTable1.BorderWidth = New Unit(0)
        myTable1.CellSpacing = 0
        myCell.Controls.Add(myTable1)
        myRow1 = New TableRow()
        myRow1.BorderWidth = New Unit(0)
        myTable1.Rows.Add(myRow1)
        myCell1 = New TableCell()
        myCell1.CssClass = strCssMessage
        myCell1.BorderWidth = New Unit(0)
        myCell1.Width = New Unit(36)
        Dim Alertimage As System.Web.UI.WebControls.Image = New System.Web.UI.WebControls.Image()
        Alertimage.Height = New Unit(intMessageBoxImageHeight)
        Alertimage.Width = New Unit(intMessageBoxImageWidth)
        Alertimage.BorderWidth = New Unit(0)
        Alertimage.ImageUrl = strImage
        myCell1.Controls.Add(Alertimage)
        myRow1.Cells.Add(myCell1)
        myCell1 = New TableCell()
        myCell1.CssClass = strCssMessage
        myCell1.BorderWidth = New Unit(0)
        myCell1.CssClass = strCssMessage
        If strCssMessage = "" Then
            myCell1.HorizontalAlign = HorizontalAlign.Center
            myCell1.ForeColor = System.Drawing.Color.Black
            myCell1.BackColor = System.Drawing.Color.LightGray
            myCell1.BorderColor = System.Drawing.Color.LightGray
            myCell1.Font.Name = "Verdana"
            myCell1.Font.Bold = True
            myCell1.Font.Size = New FontUnit(8)
        End If
        Dim NewLabel1 As Label = New Label()
        NewLabel1.Text = strMessage
        myCell1.Controls.Add(NewLabel1)
        myRow1.Cells.Add(myCell1)
        myRow = New TableRow()
        myRow.BorderWidth = New Unit(0)
        myTable.Rows.Add(myRow)
        If intButton = 1 Or intButton > 3 Or intButton < 1 Then
            myCell = New TableCell()
            myCell.ColumnSpan = 5
            myCell.BorderWidth = New Unit(0)
            myCell.CssClass = strCssMessage
            myCell.HorizontalAlign = HorizontalAlign.Center
            If strCssMessage = "" Then
                myCell.ForeColor = System.Drawing.Color.Black
                myCell.BackColor = System.Drawing.Color.LightGray
                myCell.Font.Name = "Verdana"
                myCell.Font.Bold = True
                myCell.Font.Size = New FontUnit(8)
            End If
            ButtonOK = New Button()
            ButtonOK.ID = strMessageBoxIDYes
            ButtonOK.Text = strButtonYes
            ButtonOK.Width = New Unit(strButtonWidth)
            ButtonOK.Style.Add("CURSOR", "hand")
            myCell.Controls.Add(ButtonOK)
            myRow.Cells.Add(myCell)
        End If
        If intButton > 1 And intButton < 4 Then
            myCell = New TableCell()
            myCell.CssClass = strCssMessage
            myCell.BorderWidth = New Unit(0)
            myCell.HorizontalAlign = HorizontalAlign.Right
            If strCssMessage = "" Then
                myCell.ForeColor = System.Drawing.Color.Black
                myCell.BackColor = System.Drawing.Color.LightGray
                myCell.Font.Name = "Verdana"
                myCell.Font.Bold = True
                myCell.Font.Size = New FontUnit(8)
            End If
            ButtonYes = New Button()
            ButtonYes.ID = strMessageBoxIDYes
            ButtonYes.Text = strButtonYes
            ButtonYes.Width = New Unit(strButtonWidth)
            ButtonYes.Style.Add("CURSOR", "hand")
            myCell.Controls.Add(ButtonYes)
            myRow.Cells.Add(myCell)
            myCell = New TableCell()
            myCell.Width = New Unit(20)
            myCell.BorderWidth = New Unit(0)
            myCell.CssClass = strCssMessage
            If strCssMessage = "" Then
                myCell.BackColor = System.Drawing.Color.LightGray
            End If
            myRow.Cells.Add(myCell)
            myCell = New TableCell()
            myCell.CssClass = strCssMessage
            myCell.BorderWidth = New Unit(0)
            If strCssMessage = "" Then
                myCell.ForeColor = System.Drawing.Color.Black
                myCell.BackColor = System.Drawing.Color.LightGray
                myCell.Font.Name = "Verdana"
                myCell.Font.Bold = True
                myCell.Font.Size = New FontUnit(8)
            End If
            If intButton = 2 Then
                myCell.HorizontalAlign = HorizontalAlign.Left
            ElseIf intButton = 3 Then
                myCell.HorizontalAlign = HorizontalAlign.Center
            End If
            ButtonNo = New Button()
            ButtonNo.ID = strMessageBoxIDNo
            ButtonNo.Text = strButtonNo
            ButtonNo.Width = New Unit(strButtonWidth)
            ButtonNo.Attributes("WIDTH") = strButtonWidth.ToString()
            ButtonNo.Attributes("HEIGHT") = strButtonWidth.ToString()
            ButtonNo.Style.Add("CURSOR", "hand")
            myCell.Controls.Add(ButtonNo)
            myRow.Cells.Add(myCell)
            If intButton = 3 Then
                myCell = New TableCell()
                myCell.Width = New Unit(10)
                myCell.BorderWidth = New Unit(0)
                myCell.CssClass = strCssMessage
                If strCssMessage = "" Then
                    myCell.BackColor = System.Drawing.Color.LightGray
                End If
                myRow.Cells.Add(myCell)
                myCell = New TableCell()
                myCell.CssClass = strCssMessage
                myCell.BorderWidth = New Unit(0)
                myCell.HorizontalAlign = HorizontalAlign.Left
                If strCssMessage = "" Then
                    myCell.ForeColor = System.Drawing.Color.Black
                    myCell.BackColor = System.Drawing.Color.LightGray
                    myCell.Font.Name = "Verdana"
                    myCell.Font.Bold = True
                    myCell.Font.Size = New FontUnit(8)
                End If
                ButtonCancel = New Button()
                ButtonCancel.ID = strMessageBoxIDCancel
                ButtonCancel.Text = strButtonCancel
                ButtonCancel.Width = New Unit(strButtonWidth)
                ButtonCancel.Style.Add("CURSOR", "hand")
                myCell.Controls.Add(ButtonCancel)
                myRow.Cells.Add(myCell)
            End If
        End If
    End Sub
#End Region
    Protected Overrides Sub AddAttributesToRender(ByVal writer As HtmlTextWriter)
        ' Rendering message box control to the browser
        MyBase.AddAttributesToRender(writer)
        writer.AddAttribute(HtmlTextWriterAttribute.Id, "showimage")
        'writer.AddAttribute(HtmlTextWriterAttribute.Style, "Z-INDEX: 9999; LEFT:" + strLeft + "px; WIDTH:" + strLeft + "px; POSITION: absolute; TOP: " + strTop + "px; filter:progid:DXImageTransform.Microsoft.Shadow(color='dimgray', direction="135," strength="3;"")
        writer.AddAttribute(HtmlTextWriterAttribute.Style, "Z-INDEX: 9999; LEFT:" + strLeft + "px; WIDTH:" + strMessageBoxWidth + "px; POSITION: absolute; TOP: " + strTop + "px; filter:progid:DXImageTransform.Microsoft.Shadow(color='dimgray', direction=135), strength=3;")
    End Sub
End Class
Subscribe to:
Post Comments (Atom)
 
No comments:
Post a Comment