39

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

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

4

2 回答 2

33

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

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

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

  • AxShockwaveFlash1.Stop()
  • AxShockwaveFlash1.Movie = FilePath & "\FileName.swf"
  • AxShockwaveFlash1.Play()

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

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

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

第一个是我建议您仅在必要时使用的那个,因为它使用完整的“网络浏览器组件”(也可作为额外的工具箱项目提供),这就像试图用火箭筒射击苍蝇一样。当然它会起作用,因为该控件将充当真正的浏览器窗口(实际上是 Internet Explorer 浏览器),但它并不真正意味着以您需要的方式使用。

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

于 2008-08-04T05:44:45.887 回答
8

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

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

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

于 2008-08-04T07:12:57.237 回答