[ASP.NET 控件实作 Day12] 继承 TBActiveX 重新改写 TBMediaPlayer 控件
上篇介紹的 TBActiveX 控件,它可以支持網(wǎng)頁 Media Player 的設(shè)定,這跟前面提及的 TBMediaPlayer 功能相同。TBActiveX 具有網(wǎng)頁設(shè)定 ActiveX 通用屬性,所以 TBMediaPlayer 基本上是可以由 TBActiveX 繼承下來,再加入 Media Player 特有的屬性即可。本文將原來的 TBMediaPlayer 控件,繼承的父類別由 WebControl 改為 TBActiveX 類別,重新改寫 TBMediaPlayer 控件。
程序代碼下載:ASP.NET Server Control - Day12.rar
?
一、改寫 TBMediaPlayer 控件
TBMediaPlayer 控件原本是繼承 WebControl,現(xiàn)改繼承對象為 TBActiveX,來重新改寫 TBMediaPlayer 控件。
step1. TBMediaPlayer 繼承至 TBActiveX
新增 TBMediaPlayer 控件,繼承至 TBActiveX,并在建構(gòu)函式設(shè)定 Media Player ActiveX 的 ClassId。
Public Class TBMediaPlayer Inherits TBActiveX ? ''' <summary> ''' 建構(gòu)函式。 ''' </summary> Sub New() MyBase.ClassId = "6BF52A52-394A-11D3-B153-00C04F79FAA6" End Sub End Class?
step2. 加入相關(guān)屬性
跟原來的 TBMediaPlayer 控件一樣,加入 Url、AutoStart、UIMode 三個(gè)屬性,可視情形加入需要設(shè)定的屬性。
?
step3. 加入 Media Player 參數(shù)
覆寫 CreateChildControls 方法,動態(tài)依屬性設(shè)定在 Params 集合屬性加入?yún)?shù)。雖然 TBMediaPlayer 控制項(xiàng)目前只有 Url、AutoStart、UIMode 三個(gè)屬性,但是父類別 TBActiveX 具有 Params 集合屬性,所以開發(fā)人員可以視需求加入其它未定義的參數(shù)。
?
''' <summary> ''' 加入 MediaPlayer 參數(shù)。 ''' </summary> ''' <param name="Name">參數(shù)名稱。</param> ''' <param name="Value">參數(shù)值。</param> Private Sub AddParam(ByVal Name As String, ByVal Value As String) Dim oParam As TBActiveXParam ? oParam = New TBActiveXParam(Name, Value) Me.Params.Add(oParam) End Sub ? ''' <summary> ''' 覆寫 CreateChildControls 方法。 ''' </summary> Protected Overrides Sub CreateChildControls() '加入 Url 參數(shù) If Me.Url <> String.Empty Then AddParam("URL", Me.ResolveClientUrl(Me.Url)) End If '加入 autoStart 參數(shù) If Me.AutoStart Then AddParam("autoStart", "true") End If '加入 uiMode 參數(shù) If Me.UIMode <> EUIMode.NotSet Then AddParam("uiMode", Me.UIMode.ToString) End If MyBase.CreateChildControls() End Sub?
二、執(zhí)行程序
在頁面拖曳 TBMediaPlayer 控件,設(shè)定? Url、AutoStart、UIMode 屬性,若有需要加入其它參數(shù),可自行設(shè)定 Params 集合屬性。執(zhí)行程序就可以在頁面上看到呈現(xiàn)出來的 Media Player。
<bee:TBMediaPlayer ID="TBMediaPlayer1" runat="server" AutoStart="True" Height="249px" Url="D:\Movie_01.wmv" Width="250px"> </bee:TBMediaPlayer>?
?
備注:本文同步發(fā)布于「第一屆iT邦幫忙鐵人賽」,如果你覺得這篇文章對您有幫助,記得連上去推鑒此文增加人氣 ^^
http://ithelp.ithome.com.tw/question/10012196
總結(jié)
以上是生活随笔為你收集整理的[ASP.NET 控件实作 Day12] 继承 TBActiveX 重新改写 TBMediaPlayer 控件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux里Web应用上的截图软件——S
- 下一篇: Redhat linux 5.3 基于b