winform程序中使用线程的必要性:
单线程操作在执行耗时任务时会造成界面假死,带来非常差劲的用户体验,有时候甚至会影响到正常的业务执行,使用多线程做相关操作实属不得已之举。
那么在编写程序之前必须要明白的一个点就是窗体的UI的操作只能通过UI线程来执行,其他线程如果要去执行窗体中的控件值修改或者其它【任何和窗体线程相关的操作】,就会报异常,所有人都知道的。为了适应这一特性,于是就有了这样的写法:
private void button1_Click(object sender, EventArgs e) { this.BeginInvoke(new Action(delegate() { this.button1.Text = "test"; })); }