C# 调用flash对象

C# 调用flash对象,c#,multithreading,winforms,C#,Multithreading,Winforms,我是多线程新手。阅读了大量信息,但没有找到好的解决方案。有人能帮我调用吗 public void getImageFromFlash() { axShockwaveFlash1.Movie = full_uri1; //with some external URI var bm = new Bitmap(axShockwaveFlash1.Width, axShockwaveFlash1.Height); axShockwaveFlash1.DrawToBitmap(bm

我是多线程新手。阅读了大量信息,但没有找到好的解决方案。有人能帮我调用吗

public void getImageFromFlash() {
    axShockwaveFlash1.Movie = full_uri1; //with some external URI
    var bm = new Bitmap(axShockwaveFlash1.Width, axShockwaveFlash1.Height);
    axShockwaveFlash1.DrawToBitmap(bm, axShockwaveFlash1.ClientRectangle);
    ImageControl.Image = bm;
}

请注意,flash对象已加载并成功播放。我就是不能把它保存为图片。应用程序运行后需要调用AxShockWaveLash1.ClientRectangle,这会引发异常。

此代码中没有多线程。我打赌,如果不是从UI线程运行,此activex将不会运行。它是整个应用程序代码的一部分。它在第二个字符串上抛出错误,即我试图从未创建AXShockWaveLash1的线程运行AXShockWaveLash1,从UI线程调用
getImageFromFlash()
。如果这样做有效,那么你已经发现了你的问题。