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