日期:2014-05-18  浏览次数:21316 次

试图释放正在使用的RCW。活动线程或其他线程上正在使用该RCW。释放正在使用的RCW 的尝试会导致损坏或数据丢失。
想请教一下这个问题如何解决

System.Drawing.ImageAnimator.Animate(this.Image,new System.EventHandler(this.OnFrameChanged));

private void OnFrameChanged(object sender, EventArgs e) 
{
  this.Invalidate();
}


我这样写的 结果关闭窗体时

protected override void Dispose(bool disposing)
  {
  if (disposing && (components != null))
  {
  components.Dispose();
  }
  base.Dispose(disposing);//结果在这里了 如题的 异常
  }

------解决方案--------------------
参考代码:
private void OnFrameChanged(object sender, EventArgs e)
{
if (this.InvokeRequired)
{
this.BeginInvoke(new EventHandler(this.OnFrameChanged), new object[] { sender, e });
}
else
{
this.Invalidate();
}
}