重绘控件的最有效方法

时间:2015-01-04 22:16:36

标签: c# .net multithreading user-controls

我有一个自定义用户控件,它只包含一个人工地平线的图像。我想上下移动它。当有主要表单的一部分时,我能够使用form.OnPaint方法不断更新位置。现在我已经将图像移动到一个单独的类中,只有当我执行移动框架之类的操作时才会调用UserControl.OnPaint方法。

使用每个新值更新图像位置的最佳方法是什么?现在我正在做这样的事......

   public void setPitchAngle(double pitchAngle)
    {
        PitchAngle = pitchAngle;
        this.Invalidate();
        //this.Update();
    }

这有效,但我不确定这是否正确。对更新的调用不起作用,因为它是从创建线程以外的线程调用的,但我知道如果还需要调用它,如何修复它。

0 个答案:

没有答案