在C#WinForms应用程序中显示Flash内容

问题描述 投票:32回答:2

在C#WinForms应用程序中显示Flash内容的最佳方法是什么?我想创建一个用户控件(类似于当前的PictureBox),它将能够显示图像和flash内容。

能够从排序流而不是磁盘上的文件加载闪存内容会很棒。

c# winforms flash adobe macromedia
2个回答
32
投票

虽然我自己没有在Windows窗体应用程序中使用flash对象,但我知道这是可能的。在工具箱上的Visual Studio中,选择添加新组件。然后在出现的新窗口中选择“COM组件”选项卡以获取一个列表,您可以在其中找到“Shockwave Flash对象”

一旦添加到工具箱中,只需使用控件,就像使用visual studio中的任何其他“标准”控件一样。

三个简单的命令可用于与控件交互:

  • AxShockwaveFlash1.Stop()
  • AxShockwaveFlash1.Movie = FilePath&“\ FileName.swf”
  • ax shockwave flash1.play()

我认为,这些都是自我解释的。

能够从排序流而不是磁盘上的文件加载闪存内容会很棒。

我刚看到你也在寻找一种从流中加载内容的方法,因为我不确定是否可以使用shockwave flash对象,我会给你另一种选择(实际上是两个)。

第一个是我建议你只在必要时使用它,因为它使用完整的“webbrowser组件”(也可作为额外的工具箱项目),这就像试图用火箭筒射击飞行。当然它会起作用,因为控件将充当a real browser window(实际上是Internet Explorer浏览器),但它并不真正意味着以你需要的方式使用它。

第二个选项是在查找有关在Windows窗体中播放Flash内容的更多信息时使用我刚刚发现的内容。 F-IN-BOX是一个商业解决方案,也将播放给定网站URL的内容。 (提供的链接将指向您必须使用的.NET代码)。


8
投票

Sven,你得到了与我相同的结论:我找到了Shockwave Flash对象,所有这些都来自一个稍微不同的路线,但却被困在如何从磁盘/ URL上的文件以外的地方加载文件。 F-IN-BOX虽然只是Shockwave Flash对象的包装,但似乎提供了更多的功能,这可能只对我有帮助!

用火箭筒射击飞行可能很有趣,但嵌入式网络浏览器并不是我想要的路径。 :)

Adobe的网站上有一个链接,谈到“在C#Windows应用程序中嵌入和与Macromedia Flash Player进行通信”,但它们似乎已将其删除:(

© www.soinside.com 2019 - 2024. All rights reserved.