1

オブジェクトを介して C# プログラムに swf ファイルをロードすることはできますaxShockwaveFlashが、ユーザー ボタンをクリックして閉じる必要があります。以下のコードをすべての可能性で試しましたが、どれも機能しませんでした。

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 に答える