1

我可以通过一个axShockwaveFlash对象将一个 swf 文件加载到我的 C# 程序中,但我必须通过单击用户按钮来关闭它。我尝试了以下所有可能性的代码,但没有一个起作用。

axShockwaveFlash1.Movie = "";  
axShockwaveFlash1.Movie = string.Empty;  
axShockwaveFlash1.Movie = null;  
axShockwaveFlash1.Playing = false;

你知道如何“卸载”一个 swf 文件吗?

4

1 回答 1

4

只需从 Windows 窗体控件集合中删除 Flash 控件。这是我实现它的方法(下面的代码经过测试并且可以完美运行):

public partial class Form1 : Form
{
    private AxShockwaveFlashObjects.AxShockwaveFlash axFlash;

    public Form1()
    {
        InitializeComponent();

        axFlash = new AxShockwaveFlashObjects.AxShockwaveFlash();  
        axFlash.BeginInit();  
        axFlash.Location = new Point(50, 50);  
        axFlash.Name = "Load/unload test";  
        axFlash.TabIndex = 0; 
        axFlash.EndInit(); 
    }

    private void startButton_Click(object sender, EventArgs e)
    {
        axFlash = new AxShockwaveFlashObjects.AxShockwaveFlash();
        axFlash.BeginInit();
        axFlash.Location = new Point(50, 80);
        axFlash.Name = "Test Movie";
        axFlash.TabIndex = 0;

        axFlash.Size = new Size(640, 480);
        axFlash.EndInit();
        this.Controls.Add(axFlash);
        axFlash.LoadMovie(0, @"C:\Movies\MyMovie.swf");
    }

    private void unloadButton_Click(object sender, EventArgs e)
    {
        this.Controls.Remove(axFlash);
    }
}
于 2013-03-19T22:11:43.607 回答