如下:lbxLog是一个用来显示信息的listbox,下面的委托和方法也是定义在主线程。但是在主线程中调用和在其他线程中调用,居然互不影响:主线程中调用后Items.Count能增加,但是其他线程中调用,却是另外的一个Items.Count值,两个线程都是自己加自己的。其中主线程增加的Item 可以显示出来,其他线程的却不能显示。
public delegate void ListBoxCallback(string str); public void SetListBox(string str) { try { if (lbxLog.InvokeRequired == true) { ListBoxCallback d = new ListBoxCallback(SetListBox); lbxLog.Invoke(d, str); } else { this.lbxLog.Items.Insert(lbxItemCount, str); lbxItemCount++; } } catch(Exception ex) { log.Error("屏幕信息显示出错:", ex); } }
怎样才能让所有线程调用后增加的Item全显示出来?
添加回答
举报
0/150
提交
取消