我有一个自定义用户控件,它只包含一个人工地平线的图像。我想上下移动它。当有主要表单的一部分时,我能够使用form.OnPaint方法不断更新位置。现在我已经将图像移动到一个单独的类中,只有当我执行移动框架之类的操作时才会调用UserControl.OnPaint方法。
使用每个新值更新图像位置的最佳方法是什么?现在我正在做这样的事......
public void setPitchAngle(double pitchAngle)
{
PitchAngle = pitchAngle;
this.Invalidate();
//this.Update();
}
这有效,但我不确定这是否正确。对更新的调用不起作用,因为它是从创建线程以外的线程调用的,但我知道如果还需要调用它,如何修复它。