寻找比Update()更便宜的更新控件的方法

时间:2014-06-25 10:14:49

标签: c# controls

在一个大循环中,我改变了几个值,需要它们为updatet。我dont want要使用BackGroundWorker

是否有更便宜的方式进行更新,比如告诉应用程序paint all pending changes

void ExampleFunc()
{
    // The original function is more complex
    for (int i = 0; i < 10000; i++)
    {
        MyControl1.Text = NewText1(i);
        MyControl2.Text = OtherNewText(i);

        MyControl1.Update();
        MyControl1.Update();
    }
}

编辑: 为什么我需要这样做: 我通常在这种情况下使用BackGroundWorker,但在这种情况下,在某些PC上我会遇到调用问题。所以我不能在这种情况下使用它

1 个答案:

答案 0 :(得分:1)

你说你不能使用单独的线程,你必须经常重新绘制以给用户反馈。

重新涂漆很昂贵。每10次迭代或每100ms绘制一次以减少开销。