您的位置:程序门 -> .net技术 -> c#



帮我看看问题出在哪


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


帮我看看问题出在哪[已结贴,结贴人:xhustudent]
发表于:2007-03-20 15:23:39 楼主
//实例化
webclass   web   =   new   webclass();

//绑定事件  
web.sendmessage   +=   new   webclass.sendmessagehandler(web_sendmessage);

                        thread   th   =   new   thread(web.run);
                        th.start();

//事件
                void   web_sendmessage(object   sender,   sendmessageargs   e)
                {
                        listview1.items[e.sitename].subitems[e.colname].text   =       e.message;
                }

每当这个sendmessage事件发生时   就会弹出错误  
cross-thread   operation   not   valid:   control   'listview1 '   accessed   from   a   thread   other   than   the   thread   it   was   created   on.   不能跨线程调用   ...
大家帮帮我   给我个解决方法呀   我的目的是想根据事件传过来的参数更新listview控件子项的文本。。。用的是vs2005

发表于:2007-03-20 15:32:221楼 得分:30
void   web_sendmessage(object   sender,   sendmessageargs   e)
                {
if(listview1.invokerequired)
{
              sendmessagehandler   d=new   sendmessagehandler(web_sendmessage);
          listview1.begininvoke(d,new   object[]{sender,   e});
}
else
{
                        listview1.items[e.sitename].subitems[e.colname].text   =       e.message;
}
                }

   
*****************************************************************************
欢迎使用csdn论坛专用阅读器   :   csdn   reader(附全部源代码)  

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
发表于:2007-03-20 17:13:562楼 得分:0
真是感谢呀   呵呵   总算找到解决方法了   表示严得的感谢


快速检索

最新资讯
热门点击