论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

Flash内嵌于C#程序中的应用

文章类别:Flash AS编程 | 发表日期:2008-10-6 17:36:25


Flashplayer是以一个com+组件的形式插入到C#应用程序中的.加入的方法和普通com+控件一样.这是我今年2月做的一个小试验。事实上我 上半年做的项目一直跟这方面有关,所以对这方面还是有一些经验的。现在由于公司项目的启动,所以要对这个熟悉一下,然后整以成熟的方法,使它们之间的接口 更有通用性。这方面有一个开源项目flashCsharp做得还不错。但他只是对文件控制不错,扩展性不是很强。这个小试验是一个媒体播放器,由 flash来控制,先熟悉一下。   using System ;; using System
.Drawing;; using System
.Collections;; using System
.ComponentModel;; using System
.Windows.Forms;; using System .Data;;
namespacemediaplay {
///〈summary〉
///Form1的摘要说明。
///〈/summary〉
publicclassForm1: System
.Windows.Forms.Form {
privateAxWMPLib.AxWindowsMediaPlayeraxWindowsMediaPlayer1;;
privateAxShockwaveFlashObjects.AxShockwaveFlashaxShockwaveFlash1;;
///〈summary〉
///必需的设计器变量。
///〈/summary〉 private System
.ComponentModel.Containercomponents=null;;
publicForm1() { //
//Windows窗体设计器支持所必需的 //
InitializeComponent();; //
//TODO:在InitializeComponent调用后添加任何构造函数代码 //
axShockwaveFlash1.Movie=Application.StartupPath+"\\videoControlButtons.swf";;
axWindowsMediaPlayer1.URL=Application.StartupPath+"\\movie.avi";; }
///〈summary〉
///清理所有正在使用的资源。
///〈/summary〉
protectedoverridevoidDispose(booldisposing) {
if(disposing) {
if(components!=null) {
components.Dispose();; } }
base.Dispose(disposing);; }
#regionWindows窗体设计器生成的代码
///〈summary〉
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///〈/summary〉
privatevoidInitializeComponent() { System
.Resources.ResourceManagerresources=new System
.Resources.ResourceManager(typeof(Form1));;
this.axWindowsMediaPlayer1=newAxWMPLib.AxWindowsMediaPlayer();;
this.axShockwaveFlash1=newAxShockwaveFlashObjects.AxShockwaveFlash();; (( System
.ComponentModel.ISupportInitialize)(this.axWindowsMediaPlayer1)).BeginInit();; (( System
.ComponentModel.ISupportInitialize)(this.axShockwaveFlash1)).BeginInit();;
this.SuspendLayout();; //
//axWindowsMediaPlayer1 //
this.axWindowsMediaPlayer1.Anchor= System
.Windows.Forms.AnchorStyles.Top;;
this.axWindowsMediaPlayer1.Enabled=true;;
this.axWindowsMediaPlayer1.Location=new System
.Drawing.Point(4,1);;
this.axWindowsMediaPlayer1.Name="axWindowsMediaPlayer1";;
this.axWindowsMediaPlayer1.OcxState=(( System
.Windows.Forms.AxHost.State)(resources.GetObject("axWindowsMediaPlayer1.OcxState")));;
this.axWindowsMediaPlayer1.Size=new System
.Drawing.Size(312,248);;
this.axWindowsMediaPlayer1.TabIndex=0;;
this.axWindowsMediaPlayer1.Enter+=new System
.EventHandler(this.axWindowsMediaPlayer1_Enter);; //
//axShockwaveFlash1 //
this.axShockwaveFlash1.Anchor= System
.Windows.Forms.AnchorStyles.Bottom;;
this.axShockwaveFlash1.Enabled=true;;
this.axShockwaveFlash1.Location=new System
.Drawing.Point(9,255);;
this.axShockwaveFlash1.Name="axShockwaveFlash1";;
this.axShockwaveFlash1.OcxState=(( System
.Windows.Forms.AxHost.State)(resources.GetObject("axShockwaveFlash1.OcxState")));;
this.axShockwaveFlash1.Size=new System
.Drawing.Size(300,150);;
this.axShockwaveFlash1.TabIndex=1;;
this.axShockwaveFlash1.FSCommand+=newAxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEventHandler(this.axShockwaveFlash1_FSCommand);; // //Form1 //
this.AutoScaleBaseSize=new System
.Drawing.Size(6,14);;
this.ClientSize=new System
.Drawing.Size(320,398);;
this.Controls.Add(this.axShockwaveFlash1);;
this.Controls.Add(this.axWindowsMediaPlayer1);;
this.Name="Form1";;
this.Text="Form1";; (( System
.ComponentModel.ISupportInitialize)(this.axWindowsMediaPlayer1)).EndInit();; (( System
.ComponentModel.ISupportInitialize)(this.axShockwaveFlash1)).EndInit();;
this.ResumeLayout(false);; }
#endregion
///〈summary〉
///应用程序的主入口点。
///〈/summary〉
[STAThread]
staticvoidMain() {
Application.Run(newForm1());; }
privatevoidaxShockwaveFlash1_FSCommand(objectsender,AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvente) {
switch(e.command) {
case"pause": {
axWindowsMediaPlayer1.Ctlcontrols.pause();; } break;;
case"play":axWindowsMediaPlayer1.Ctlcontrols.play();; break;;
case"fullscr":axWindowsMediaPlayer1.fullScreen=true;; break;;
case"close":Application.Exit();; break;; default: break;; } }
privatevoidaxWindowsMediaPlayer1_Enter(objectsender, System
.EventArgse) { } } }
flash 是通过fscommand命令来控制的, fscommand在flash中的格式是fscommand(commandname,arg)。使用了这个 命令就会在C#应用程序中产生一个fscommand事件.通过一个EventHandler来处理。 this.axShockwaveFlash1.FSCommand+=newAxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEventHandler(this.axShockwaveFlash1_FSCommand);;
而C#中也可以向flash设置参数,如:
stringflashData="一二三四五六七";;
axShockwaveFlash1.SetVariable("data",flashData);;
这样的话可以在flash中通过Obejct.watch()得到变化。
视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058