不停刷新控制内容,如何实现?
小弟要实现一个功能:主窗体启动后,在label2上面不停的刷新随机数字,如何实现?我根据论坛里高手的指点,弄清楚了不同线程之间的控件调用,可以显示一个数据,但是不能不停的刷新显示。下面是代码:
namespace Meter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//Control.CheckForIllegalCrossThreadCalls = false;
}
private void Form1_Load(object sender, EventArgs e)
{
Thread display = new Thread(temp);
display.Start();
}
private void Run()
{
for (int i = 0; i < 10;i++ )
{
Random rand = new Random();
string ss = rand.Next(0, 300).ToString();
label2.Text = ss;
Thread.Sleep(100);
}
}
delegate void D();
private void temp()
{
this.Invoke(new D(Run));
}
}
}
如果利用//Control.CheckForIllegalCrossThreadCalls = false; 这种方法可以实现不停的刷新数据,但是看网上说这个方法有很大的潜在危险,怕后面出问题,不敢用这个。请高手指点一下该怎么修改,谢谢