自定義控制元件中的控制元件呼叫引用控制元件的頁面裡的函式 (轉)

worldblog發表於2007-08-14
自定義控制元件中的控制元件呼叫引用控制元件的頁面裡的函式 (轉)[@more@]

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

Imports System..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.x,把控制元件新增進去。控制元件Id為CustomToolBar。在test..vb裡的 Page_Init過程裡新增:

Public Class frmFabricItem

  Inherits System.Web.UI.Page

  Protected aControls As AMMS.DbaControls

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

  '該呼叫是 Web 窗體設計器所必需的。

  Private Sub InitializeComponent()

  End Sub

  Private Sub Page_Init(ByVal sender As System., 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 語句

請參見

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

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

AddHandler , AddressOf

各部分說明

event

要處理的事件的名稱。

eventhandler

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

備註

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

 

 


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

相關文章