天天看點

自定義控件中的控件調用引用控件的頁面裡的函數 (轉)

自定義控件中的控件調用引用控件的頁面裡的函數 (轉)[@more@]

Imports System.ComponentModelXML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

Imports System.web.UI

Namespace WebControls

  {0}:CustomToolBar>")> Public Class CustomToolBar

  Inherits System.Web.UI.WebControls.WebControl

'定義3按鈕

  Public WithEvents btnAdd As System.Web.UI.WebControls.Button

  Public WithEvents btnDelete As System.Web.UI.WebControls.Button

  Public WithEvents btnEdit As System.Web.UI.WebControls.Button 

Private Sub Button_Ini(ByRef objButton As Button, ByVal Text As String)

objButton = New System.Web.UI.WebControls.Button

objButton.Text = Text

  Me.Controls.Add(objButton)

End Sub 

Public Sub New()

  Button_Ini(btnAddNew, "新增")

  Button_Ini(btnDeleteData, "删除")

End Sub

  End Class

End Namespace

/

為了簡明,沒在控件裡加什麼事件、方法、屬性之類的。把它編譯成dll

調用方法:

建立一頁面test.ASPx,把控件添加進去。控件Id為CustomToolBar。在test.aspx.vb裡的 Page_Init過程裡添加:

Public Class frmFabricItem

  Inherits System.Web.UI.Page

  Protected dbaControls As AMMS.DbaControls

#Region " Web 窗體設計器生成的代碼 "

  '該調用是 Web 窗體設計器所必需的。

  buggerStepThrough()> Private Sub InitializeComponent()

  End Sub

  Private Sub Page_Init(ByVal sender As System.object, ByVal e As System.EventArgs) Handles MyBase.Init

  'CODEGEN: 此方法調用是 Web 窗體設計器所必需的

  '不要使用代碼編輯器修改它。

  InitializeComponent()

  AddHandler CustomToolBar. btnAdd.Click, AddressOf Me.btnAdd_Click

  AddHandler CustomToolBar. btnDelete.Click, AddressOf Me.btnDelete_Click

  AddHandler CustomToolBar. btnEdit.Click, AddressOf Me.btnEdit_Click

  End Sub

#End Region

  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

  '在此處放置初始化頁的使用者代碼

End Sub

'定義btnAdd_Click過程

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

……..

End Sub

'定義btnDelete_Click過程

Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

……..

End Sub

'定義btnAdd _Click過程

Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

……..

End Sub

End Class

/

其中關鍵是:AddHandler 語句。 還有要放在Page_Init過程裡。

附:

AddHandler 語句

請參見

2003/MS.MSDNQTR.2003FEB.2052/vblr7/html/vastmremovehandlerstatement.htm">RemoveHandler 語句 | Handles | 事件和事件處理程式 | AddHandler 和 RemoveHandler

将事件與事件處理程式相關聯。

AddHandler

event,

AddressOf

eventhandler

各部分說明

event

要處理的事件的名稱。

eventhandler

将處理事件的過程的名稱。

備注

AddHandler

RemoveHandler

語句使您可以在程式執行過程中的任何時候啟動和停止事件處理。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-956804/,如需轉載,請注明出處,否則将追究法律責任。

轉載于:http://blog.itpub.net/10752043/viewspace-956804/

ui