我在实现滚动文字时,通过控制label的位置,来实现,并且用Update(),重画区域。
可是滚动文字的同时,窗口背后的界面被破坏了,
如何解决?

解决方案 »

  1.   

    在循环体中加一句Application.DoEvents();
      

  2.   

    就是这样做的,看看有什么问题
    private void timer_Tick(object sender, System.EventArgs e)
    {
    if( label1.Left < label2.Location.X  )
    {
    label1.Left -= 1;
    label2.Left = label1.Left + label1.Width ;
    }
    else
    {
    label2.Left -= 1;
    label1.Left = label2.Left + label2.Width; 
    }
    if( label2.Left <= 0 )
    label1.Left = label2.Left + label2.Width ;
    else
    label2.Left = label1.Left + label1.Width ;
    label1.Invalidate();
    label1.Update();

    label2.Invalidate();
    label1.Update(); Application.DoEvents();
    }