需要注意的是,必须从UI线程,另外启动一个线程才可以。
在新线程调用异步刷新就OK了
Thread thread;
private void button1_Click(object sender, EventArgs e)
{
thread = new Thread(new ThreadStart(AnotherRefresh));
thread.IsBackground = true;
thread.Start();
}
private void AnotherRefresh()
{
MyRefresh("hello world");
Thread.Sleep(1000);
MyRefresh("Bye Bye");
}
private void MyRefresh(string str)
{
try
{
this.Invoke((MethodInvoker)delegate()
{
textBox1.Text = str;
});
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}