[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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARM_控制器

ARM_控制器 1.GPIO 控制器&#xff1a;&#xff08;gpio口的通用函数接口定义在gpiolib.c文件中&#xff0c;声明则在gpio.h中&#xff09; linux-3.10\include\linux\gpio.h linux-3.10\drivers\gpio\gpiolib.c API&#xff1a; 1. 申请/获取gpio口的使用权    static in…

这几天惨遭Delphi类型转换折磨,请问怎么把double转成int类型

这几天惨遭Delphi类型转换折磨&#xff0c;请问怎么把double转成int类型 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiBase/html/delphi_20061216093950141.html好不容易找了个FloatToDecimal函数&#xff0c;摆置了半天也不知道怎么个用法&#xff0c;真郁闷。 …

于elasticsearch-rest-high-level-client 操作 Es

安装Java&#xff1a;要求JDK为1.8及以上版本。创建阿里云Elasticsearch实例&#xff1a;实例版本要求大于等于elasticsearch-rest-high-level-client的版本。本文创建一个6.3.2版本的实例。 注意 High Level Client能够向上兼容&#xff0c;例如6.3.2版本的elasticsearch-rest…

FreeBSD学习笔记15-FreeBSD下安装Apache

一、准备工作 1、FreeBSD 客户端。 如果你没有自己的 DNS 服务器&#xff0c;那么你就要确保在“/etc/hosts”文件中有个条目指向你的服务器 IP &#xff0c;这将保证你的服务器主机名能够被本地解析&#xff0c;否则你只能用 IP 访问服务器了。 编辑“hosts”文件&#xff1a;…

C#测量程序运行时间及cpu使用时间(转)

对一个服务器程序想统计每秒可以处理多少数据包&#xff0c;要如何做&#xff1f;答案是用处理数据包的总数&#xff0c;除以累记处理数据包用的时间。这里要指出的是&#xff0c; 运行一段程序&#xff0c;使用的cpu时间&#xff0c;跟实际运行的时间是不一样的。附例如下&…

序列图

序列图主要用于按照交互发生的一系列顺序&#xff0c;显示对象之间的这些交互。很象类图&#xff0c;开发者一般认为序列图只对他们有意义。然而&#xff0c;一个组织的业务人员会发现&#xff0c;序列图显示不同的业务对象如何交互&#xff0c;对于交流当前业务如何进行很有用…

NoSQLBooster for MongoDB默认显示100条数据

顶部Options设置——Modify Default Code Templates——Modify Default Limit Size&#xff0c; 即可修改显示条数。 转载于:https://www.cnblogs.com/zjx1/p/11491338.html

项目总结(采用领域驱动开发方式)

最近在做一个项目。采用J2EE作为开发平台&#xff0c;通过领域驱动开发&#xff08;DDD&#xff09;的方式进行开发。首先说一下系统总体架构。系统分为表现层&#xff0c;业务层(业务层分为应用层和领域层)&#xff0c;持久层&#xff0c;其中表现层用Struts MVC框架&#xff…

MS SQL Server 2008 简体中文正式版下载地址(附序列号)

Microsoft SQL Server 2008 Enterprise Evaluation&#xff1a;开发人员试用体验http://www.microsoft.com/downloads/details.aspx?FamilyId6B10C7C1-4F97-42C4-9362-58D4D088CD38&displaylangzh-cn Microsoft SQL Server 2008 Enterprise Evaluation&#xff1a;IT 专业…

小型网络的组建及排错

今天施工 给公司组建了一小型网络 以下是此次施工的拓扑图具体的实施方法不再啰嗦&#xff0c;在此要声明配线架只是起到了方便管理的作用&#xff0c;实施过程中也可以不用到配线架。 房间1又通过一HUB共享上网&#xff0c;房间2有两个客户端&#xff0c;直接连接到2924交换机…

大道五目Flash英文版(Renju Problems)程序分析之禁手判断

现在界面已经完成了&#xff0c; 刚刚完成了禁手算法&#xff0c;把代码共享出来&#xff1a; Codeprivate function IsForbidden(x:int, y:int, board:Array):int { var index:int x*15y; // set this position(x,y) to black. …

Google Earth的十个常用技巧应用

2004年10月27日Google宣布收购了美国的一家卫星图像公司Keyhole公司&#xff0c;并于2005年6月推出了Google Earth系列软件。用户们可以通过下载一个Google Earth客户端软件&#xff0c;就可以免费浏览全球各地的高清晰度卫星图片。 Google卫星地图的横空出世&#xff0c;催生了…

[导入]判断学号前十位的年龄最大的女学生是否是汉族的

USE XSCJGOIF object_id(tempdb..#tmpTable) IS NOT NULLDROP TABLE #tmpTableSELECT TOP 10 *INTO #tmpTableFROM 学生基本信息表WHERE 性别 女GODECLARE zbs CHAR(10)SELECT zbs 族别 FROM #tmpTableWHERE 出生日期 (SELECT MIN(出生日期) FROM #tmpTable)IF zbs 汉族PRI…

TCP/IP协议端口大全

TCP/IP协议端口大全 应用层网关服务Internet 连接共享 (ICS)/Internet 连接防火墙 (ICF) 服务的这个子组件对允许网络协议通过防火墙并在 Internet 连接共享后面工作的插件提供支持。应用层网关 (ALG) 插件可以打开端口和更改嵌入在数据包内的数据&#xff08;如端口和 IP 地址…

BENET上海分公司网络改造项目设计实施方案(S1项目实践)

BENET上海分公司网络改造项目设计实施方案 目录 目录- - 1 - 一、企业用户需求分析- - 2 - 1.1、项目概述-- - 2 - 1.2、系统需求概括-- - 3 - 1.3、项目建设的要求-- - 4 - 二、项目方案的整体设计与实施- - 5 - 2.1、网络系统的分析与设计-- - 5 - 2.2、系统及应用服务的分析…

java 的转义字符,在正则表达式中应用

点的转义&#xff1a;. > u002E 美元符号的转义&#xff1a;$ > u0024 乘方符号的转义&#xff1a;^ > u005E 左大括号的转义&#xff1a;{ > u007B 左方括号的转义&#xff1a;[ > u005B 左圆括号的转义&#xff1a;( > u0028 竖线的转义&#xff1a;…

Oracle 统计信息备份/表分析

众所周知,统计信息直接影响到Oracle优化器最后的执行计划,所以定期收集统计信息成为DBA一项常规的工作,但是,对于一些大表,比如数据量超过几千万条,表分析后却有可能会导致应用系统一些SQL执行计划变差,比如出现大量的全表扫,严重影响数据库性能.如果出现这种情况,一种方法是对…

Type mismatch: cannot convert from int to Object错误

第一, 需要装 jre1.5.0及以上的版本第二, 在eclipse的Window Preference Java里,Install JREs里设置你装的jre第三,在eclipse的Window Preference Java里,Compiler里设Compiler compliance level为5.0以上关键是第三步, 兼容级别转载于:https://blog.51cto.com/xu20cn/116852

IIS6.0应用程序池回收和工作进程【转:http://www.cnblogs.com/freshman0216/archive/2008/06/02/1212460.html】...

公司的一个网站程序长时间运行后&#xff0c;速度变慢&#xff0c;重新启动网站后速度明显变快&#xff0c;估计是网站程序占用的内存和CPU资源没能及时释放&#xff0c;才需要每隔一段时间重启网站释放资源。但手工重启总不能算解决问题的方法&#xff0c;怎样才能实现自动管理…

配置IPsec on GRE Tunnel with IOS Firewall and NAT

配置IPsec on GRE Tunnel with IOS Firewall and NAT<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />详细配置见附件