本文最后更新于$day天前,文中所描述的信息可能已发生改变。
现在多线程时代,基本不会用单线程执行代码,如果使用多线程,在WinFrom中很多需要注意的事项,例如必须在主线程才能使用窗体代码。必须在主线程上执行委托。怎样写的委托更好更优美,记录一下我写委托的几个方法,和在Winfrom中异步执行代码的方法。EasyHttpClient 是我平时封装Http方法的一个类。可以忽略。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| string html = string.Empty;
Action action = () => { html = new EasyHttpClient().Get("http://www.wugufen.com/").html; };
var asyn = action.BeginInvoke((IAsyncResult ir) => { this.BeginInvoke((Action)delegate { textBox2.Text = html; });
this.BeginInvoke(new Action(() => { textBox2.Text = html; })); }, null); if (!asyn.IsCompleted) { MessageBox.Show("还没完成!"); }
|