在winForm的一个label上实现文字滚动效果但是会出现闪烁问题,代码如下:请问如何消除文字闪烁问题
int i=label2.Width;

while(true) 
{
g.DrawString(labTxt, new Font("Simsun", 12), Brushes.White, i, 10);
Thread.Sleep(10);
g.DrawString(labTxt, new Font("Simsun", 12), Brushes.Black, i, 10);
if (i--<-max) 
{

i=label2.Width;
}
}

解决方案 »

  1.   

    一、不用一个像素一个像素移动,设置Label.Text属性实现移动。前后加空格。
    二、重载Label的OnPaint,在这里画!
    三、直接在窗口上画;
      

  2.   

    试试this.Label.Invalidate()看看还闪不闪了
      

  3.   

    建议自己写一个滚动文字的控件,不困难,可以参考这里,或者直接拿来用也行:http://www.codeproject.com/cs/miscctrl/ScrollingTextControlArtic.asp
      

  4.   

    http://www.codeproject.com/cs/miscctrl/ScrollingTextControlArtic.asp
    这个不错,仔细学习一下