<%@ Control Language="VB" AutoEventWireup="false" CodeFile="Toolbar.ascx.vb" Inherits="Toolbar" %>
<asp:Button ID="btnMoveFirst" runat="server" CommandName="MoveFirst" Text="首筆" />
<asp:Button ID="btnMovePrevious" runat="server" CommandName="MovePrevious" Text="上筆" />
<asp:Button ID="btnMoveNext" runat="server" CommandName="MoveNext" Text="下筆" />
<asp:Button ID="btnMoveLast" runat="server" CommandName="MoveLast" Text="末筆" />
Partial Class Toolbar
Inherits System.Web.UI.UserControl
''' <summary>
''' Toolbar 控制項的 Click 事件引數。
''' </summary>
Public Class ClickEventArgs
Inherits System.EventArgs
Dim FCommandName As String = String.Empty
''' <summary>
''' 按鈕命令。
''' </summary>
Public Property CommandName() As String
Get
Return FCommandName
End Get
Set(ByVal value As String)
FCommandName = value
End Set
End Property
End Class
''' <summary>
''' 按下工具列按鈕引發的事件。
''' </summary>
Public Event Click(ByVal sender As Object, ByVal e As ClickEventArgs)
''' <summary>
''' 引發 Click 事件。
''' </summary>
Public Overloads Sub RaiseClickEvent(ByVal e As ClickEventArgs)
RaiseEvent Click(Me, e)
End Sub
''' <summary>
''' 所有按鈕的事件處理函式。
''' </summary>
Protected Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles _
btnMoveFirst.Click, btnMovePrevious.Click, btnMoveNext.Click, btnMoveLast.Click
Dim oEventArgs As New ClickEventArgs()
'取得作用按鈕的 CommandName
oEventArgs.CommandName = CType(sender, Button).CommandName
'引發 Click 事件
RaiseClickEvent(oEventArgs)
End Sub
End Class
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Toolbar1_Click(ByVal sender As Object, ByVal e As Toolbar.ClickEventArgs) Handles Toolbar1.Click
Me.Response.Write(e.CommandName)
End Sub
End Class程序代码下载:UserControlEvent.rar