享受自由与创造的乐趣!

I LOVE THIS GAME

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

【线程内访问不了通过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 上就是不行....





posted on 2005-10-25 13:45  helloworld84  阅读(985)  评论(8)    收藏  举报