【线程内访问不了通过Invoke函数传递delegate调用的 listView 的 Items 属性】
我定义了一个线程,在线程方法里面通过调用ListView控件的Invoke函数,传递delegate完成调用。
ListView listviewname = (ListView)this.ListViewName.Invoke(new GetListViewValue(ListViewValue));
设置了 listviewname 的值为 ListView1,
结果可以正常使用 listviewname 的一些属性,如 listviewname.Items.Count 、listviewname.Columns[i].Text、listviewname.Columns.Count。
可是当访问到下面的代码就是通不过
foreach (ListViewItem item in listviewname.Items) //这里出错
{}
错误语句:listviewname.Items
未处理 InvalidOperationException
线程间操作无效, 从不是创建控件 "ListView1" 的线程访问它。
相同的代码在 2003 上测试过了,完全可以正常工作,可是在 2005 上就是不行....

浙公网安备 33010602011771号