【问题标题】:Displaying Flash content in a C# WinForms application在 C# WinForms 应用程序中显示 Flash 内容
【发布时间】:2010-09-05 06:54:57
【问题描述】:

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

如果能够从各种而不是磁盘上的文件加载 Flash 内容,那就太好了。

【问题讨论】:

  • 我赞成 Sven 的回答,但只是一点说明:使用 WebBrowser 组件非常易于管理,事实上,它正是为这种用途而设计的(嵌入应用程序 UI 中)。当然,您可以将浏览器控件指向一个 URL,但您也可以准确地指定它包含的内容、响应事件等等。甚至还有一个嵌入式资源协议/方案 (res://),您可以使用它来引用嵌入式资源。但显然,如果 Flash 组件本身是干净的,那将是一个更好的方法:)

标签: c# winforms flash adobe macromedia


【解决方案1】:

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

添加到工具箱后,只需像使用 Visual Studio 中的任何其他“标准”控件一样使用该控件。

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

  • AxShockwaveFlash1.Stop()
  • AxShockwaveFlash1.Movie = 文件路径 & "\FileName.swf"
  • AxShockwaveFlash1.Play()

我认为,这些都是不言自明的。

能加载就好了 来自流的 Flash 内容 排序而不是磁盘上的文件。

我刚刚看到您也在寻找一种从流中加载内容的方法, 而且因为我不确定冲击波闪光物体是否可行,所以我会给你另一个选择(实际上是两个)。

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

第二个选项是使用我刚刚在寻找有关在 Windows 窗体中播放 Flash 内容的更多信息时发现的东西。 F-IN-BOX 是一种商业解决方案,它还将播放来自给定网站 URL 的内容。 (提供的链接将引导您访问必须使用的 .NET 代码)。

【讨论】:

  • 注意:在 VS 2013 中,在工具箱中右键单击工具箱时名为“Choose Items...”的选项。
【解决方案2】:

Sven,您得出了与我相同的结论:我找到了 Shockwave Flash 对象,尽管它的路径略有不同,但对于如何从磁盘/URL 上的文件以外的其他地方加载文件感到困惑. F-IN-BOX,虽然只是 Shockwave Flash 对象的包装,但似乎提供了更多功能,这可能对我有帮助!

用火箭筒射击苍蝇可能很有趣,但嵌入式网络浏览器并不是我要寻找的途径。 :)

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

【讨论】:

    猜你喜欢
    • 2020-05-15
    • 1970-01-01
    • 2017-03-18
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 1970-01-01
    相关资源
    最近更新 更多