[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 控件相关推荐
- [ASP.NET 控件实作 Day14] 继承 CompositeControl 实作 Toolbar 控件
之前我们简单介绍过继承 CompositeControl 来实作复合控件,在本文我们将以 Toolbar 控件为例,以复合控件的作法(继承 CompositeControl )来实作 Toolbar ...
- [ASP.NET 控件实作 Day28] 图形验证码控件
在网页上常把图形验证码应用在登入或贴文的页面中,因为图形验证码具有机器不易识别的特性,可以防止机器人程序恶意的存取网页.在本文中将实作一个图形验证码的服务器控件,透过简单的属性设定就可以轻易地在网页上 ...
- ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性
深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第 ...
- [翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十三:在DetailsView控件中使用TemplateField...
导言 比起BoundField.CheckBoxField.HyperLinkField以及其他的那些数据字段控件(data field controls)来说,TemplateField提供了一种高 ...
- ASP.NET AJAX入门系列(5):使用UpdatePanel控件(二)
UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加 ...
- [导入]Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]...
Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载] 文章来源:http://blog.csdn.net/chengking/archive/2007/0 ...
- asp.net控件页面交互_ASP.NET Web窗体用户控件的基本交互
asp.net控件页面交互 I saw a recent question regarding .NET - Render User Control Logo on Postback and deci ...
- 控件包含代码块(即 % ... %),因此无法修改控件集合。
第一种: 在使用主题的时候出现 控件包含代码块(即 <% ... %>),因此无法修改控件集合错误,原来错误的原因是: 控件包含代码块(即 <% ... %>),因此无法修改控 ...
- 从控件开发的角度看几个editor控件,Freetextbox,radtoolbar,abouteditor,cuteeditor
今天控件的开发有了很大进展,写些东西.在开发之前,我看了几个控件的源代码,如Freetextbox,radtoolbr,abouteditor以及cuteeditor.今天凭会议总结一下他们的特点,能 ...
最新文章
- Android底层开发之旅—蓝牙系统分析
- AlphaImageLoader用法
- 对信号集操作函数的使用方法和顺序
- 神马是线程?PHP对其具体的应用?应用在哪里?
- java 夏令时标志_夏令时随绝对日期而变化
- 硬币兑换python 每个面值有多个_【算法27】硬币面值组合问题
- sql无效字符 执行sql语句报错解决方案
- 两个正数相乘为什么结果是负数
- [bzoj4025] 二分图
- python爬虫学习教程,短短25行代码批量下载豆瓣妹子图片
- iMazing 2.11.7 WinMac 中文版 — iOS设备管理工具
- 电商网站对服务器配置有什么要求?
- Unity webGl 鼠标手指触屏控制相机围绕物体 360度旋转
- Android仿芝麻信用分雷达分布图
- 计算机网络协议指的是tcp ip协议吗,计算机除了有网络协议也就是TCP/IP协议以外,还有什么协议呢?...
- 【量化入门】通过几种常见的量化策略框架,学习量化炒股
- kvm直通sata_将双系统塞入A4主机:OSX-KVM 显卡直通教程
- 微信小程序项目实例——二维码生成器
- 垂直水平居中的几种实现方式
- 关键词生成器在线-在线免费关键词生成器
热门文章
- C语言实践作业报告,c语言社会实践报告
- python手机解释器_python3
- 计算机网络的资源共享功能包,计算机网络的资源共享功能包括
- suse linux如何重置密码忘记,SUSE Linux忘记root密码的处理办法
- rabbitmq java文档_RabbitMQ文档翻译——Hello World!(上)
- 2014 网选 5024 Wang Xifeng's Little Plot
- oracle 表约束非空,oracle--约束(主键、非空、检查)
- php 串口通信例程,HAL库串口通信例程
- Linux下的ELF文件、链接、加载与库(含大量图文解析及例程)
- Linux free 命令详解