使用了委托。
当程序执行完毕之后,要过段时间才会终止。如果中途又点了下载,程序就会弹出一个错误,应为进程中的一些东东还未释放,所以还要改进线程的同步阻塞问题~。
//1. 使用一个委托
private delegate void SafeSetList(string str); private delegate void SafeDispose(); ///<summary> ///2. ///</summary> /// //2.1 private void onSafeSetValue(String str) { //2.1.1 InvokeRequired,是存在于控件之上的 if(formm.listBox1.InvokeRequired){ SafeSetList call = delegate(string str2) { formm.listBox1.Items.Add(str2); }; formm.Invoke(call, str); }else{ formm.listBox1.Items.Add(str); } } //2.2 private void onSafeDispose() { if(formm.InvokeRequired) { SafeDispose call = delegate() { formm.Dispose(); }; formm.Invoke(call); }else{ formm.Dispose(); } }