111,094
社区成员




delegate void RefreshLabelCallback(Control lb, string text);
private void Form1_Load(object sender,EventArgs e)
{
Thread refresh = new Thread(new ThreadStart(Refresh));
refresh.Start();
}
public override void Refresh()
{
RefreshLabel(lable_1,"要刷新的内容");
Thread.Sleep(1000);
}
private void RefreshLabel(Control lb, string text) //其他线程更改非该线程控件会出异常,这种写法是比较好的避免这种异常的写法
{
if (lb.InvokeRequired)
{
RefreshLabelCallback d = new RefreshLabelCallback(RefreshLabel);
this.Invoke(d, new object[] { lb,text });
}
else
{
lb.Text = text;
}
}
int i = 0;
private void Form1_Load(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Interval = 1000;
}
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = i.ToString();
i++;
}