日期:2014-05-19  浏览次数:20834 次

多个线程ListView控件需要更新的问题(在线急等.....)
大家好   我做这样一个程序     从数据库读出数据,动态生成控件,tabpage控件从数据库读出后生成,Listview控件也是,然后listview控件加到tabpage控件上,   最后把tabpage控件放到本来就有的tabcontorl控件上,
我的Listview控件是继承来的   并加了几个事件,就是有消息来的时候,listview控件就更新相应项的内容,   但每次都会提示   :Exception   has   been   thrown   by   the   target   of   an   invocation   (编译时没有错误,也没有引用com组件)   每个LISTview控件上的每一项都是一个线程在控制,就是说当有消息来时   ,就更新相应tabpage控件上的相应listview控件上的相应item项,

我的Listview上的事件   :  
  delegate   void   refreshHand(string   group,string   name,   string   msg);
void   refresh(string   group,string   name,string   msg)
{
        if(this.name==group)   //这个用来判断是不是该接收这个消息
                {
                          if(this.invokerequerd)
                                {
                                        refreshHand   h=new   refreshHand(refresh);
                                        this.begininvoke(h,new   object[]{group,name,msg});
                                }
                            else
                                    {
                                            this.item[name].subitem[ "status "].text=msg;
                                      }
                  }
}

帮帮看看   应该怎么做   弄了好久了   还没得到解决

------解决方案--------------------
this.begininvoke(h,new object[]{group,name,msg});
--->

没有对应的endinvoke 吗?


或者
this.invoke(h,new object[]{group,name,msg});

------解决方案--------------------
如果是马上endinvoke的话,就会阻塞 ,直到invoke完成,再往下执行。