zoukankan      html  css  js  c++  java
  • 在winform中嵌入Flash(swf)的方法及常见问题的解决

    我的实践环境是windows7,vs2010.
    从本质上说,要在c# winform程序里嵌入FLASH,其实就是直接引用Flash的ocx控件。那你就需要使用“COM 组件” Shockwave Flash Object。不过这个”Flash.ocx”控件不能直接在“COM 组件”窗口中找到。我们需要注册它。具体步骤如下:
    第一步:打开vs2010(或者2008,2005),选择菜单中的“工具”–“自定义工具箱”,打开“自定义工具箱”窗口,在“COM组件”中点击“浏览”键,然后选择“c:\WINDOWS\system32\Macromed\Flash\Flash10o.ocx(还有一个Flash10n.ocx,选择一个即可)”控件,点击确定,稍等。。。让程序运行完。
    第二部:注册自己添加的flash组件。在开始-》运行窗口执行如下命令:

    regsvr32 c:\WINDOWS\system32\Macromed\Flash\Flash10o.ocx按下Enter键,等候。。。,注册过程需要一点时间。

    第三步:重启你的vs,进入winform设计界面,此时在工具箱面板,你将看到这个部分,如下图:

    在winform中嵌入Flash(swf)的方法及常见问题的解决 - 奇客力 - Program  Management

    我们需要使用的是Shockwave Flash Object控件,此时,这个控件的使用跟你向winform中添加一个按钮的操作一个样。

    向winform中添加一个Shockwave Flash Object控件后,我们需要给它传递我们要嵌入的swf文件的路径,然后就可以测试嵌入效果了。配置路径的属性是Movie

    axShockwaveFlash1.Movie = “e:\\test.swf”;//这行代码在你想让flash出现的时候执行。

    /**axShockwaveFlash1是控件名。axShockwaveFlash1还有一个函数是Play(),不调用也可以。

    这个时候,如果一切都顺利的话,你已经可以达到自己的目的了。不过我还遇到了一些很特别的问题。

    按照上一篇文章的步骤,就可以在vs2010中随意向winform中嵌入flash了,但是好事多磨,意外总有,我就遇到了一些神马问题,虽然解决了,但是也不能说清这些问题的根源。

    一、找不到依赖项。就是类似没有引入dll导致vs报说“找不到依赖项:&*……%&¥#&,Version 1.0 ”,叽叽呱啦一大坨。这个问题甚至导致我进winform设计界面时都进不了,(vs说界面有错)。

    解决方法:退出vs,重新启动。进入项目,清理解决方案,重新生成解决方案。看看bin目录是否有

    AxShockwaveFlashObjects和ShockwaveFlashObjects的引用,以及引用前面是否有黄色的警示标识。没有的话第一个问题就解决了。想想原因大概就是我们刚完成注册,vs有些地方没有更新。

    二、winform中swf不播放:无论我怎么调整swf的路径,调用flash控件的Play()函数,winform就是不显示swf的内容,原本要显示flash的地方空白一片。这个问题折磨了我好一会。在我一再实验后,也终于被解决了。过程也很简单。

    解决方法:在winform中,点击flash控件,在属性面板中,选择Movie项,填入要嵌入的swf文件的地址,如:e:\\test.swf。运行项目,看看winform启动后嵌入的flash是否显示。我实验的时候是显示了。然后,重新将Movie项的值清空(这份都费了好大的劲,我遇到的情况是一直清不掉里面的值。我就一个字母一个字母的删,最终才清空),按照代码给flash控件的Movie属性赋值的方法再试一次,结果就正常了。
    三、在64位windows7中,需要将项目的生产环境改为x86,否则在运行时将提示错误。

    转载:http://blog.163.com/da7_1@126/blog/static/10407267820118172137794/

  • 相关阅读:
    Civil 3D 二次开发 创建Civil 3D 对象—— 01 —— 创建几何空间点
    Civil 3D 二次开发 创建Civil 3D 对象—— 00 ——
    Civil 3D 二次开发 创建AutoCAD对象—— 01 —— 创建直线
    Civil 3D 二次开发 新建CLR项目出现错误C2143
    Civil 3D 二次开发 创建AutoCAD对象—— 00 ——
    了解AutoCAD对象层次结构 —— 6 ——块表记录
    datepicker97使用
    使用angular 外接 templateUrl,使用ng-include
    angularJs 遮罩
    网上找的有关css兼容问题
  • 原文地址:https://www.cnblogs.com/swxj/p/2843397.html
Copyright © 2011-2022 走看看