CSDN博客

img waterboy

Server side Message box in ASP.Net

发表于2004/10/20 7:29:00  805人阅读

It’s a continuation of my previous article Server side Message box in ASP.Net.

When I start to upload my article, I am not able to upload it due to storage. That’s why I intended to write it up like a continuation. Here I am providing Messagebox.vb, those who are not able to download a zip file, you may use this. And build your own message box.

 

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

    '   Message box left position

    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 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

    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

    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

    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;"")

    End Sub

End Class

阅读全文
0 0

相关文章推荐

img
取 消
img