• 全部
  • VBS
  • .NET技术
  • VBA
  • VB网络编程
  • VB多媒体
  • VB数据库
  • VB控件
  • VB COM/DCOM
  • VB基础类
  • VB API
  • 问答

多线程操作一个listview控件,出现次序混乱,大家帮忙看看~~

king8192 2006-11-23 11:51:02
在vb.net里,我把多线程的各自执行信息写入一个listview控件,例如:
我想实现的正常顺序
序号 是否完成 完成时间 标识号(唯一)
1 Y 2006-11-1 111
2 Y 2006-11-1 222
3 N 2006-11-1 333
4 Y 2006-11-1 444
5 N 2006-11-1 555

可是 结果不尽任意 各个列错位 数据出现混乱,我想是因为多线程执行时间段的不同造成的 结果大概如下:

序号 是否完成 完成时间 标识号(唯一)
1 Y 2006-11-1 111
2 2006-11-1 Y
4
3 Y 2006-11-1
5 N 2006-11-1 555

行的序号顺序混乱,有的行只有序号,其他列没有数据,有的行本列数据跑到其他列下面去显示了。
大家帮帮忙看看,怎么解决多线程处理同一控件的问题啊~~小弟在此先谢过了!!

...全文
190 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
king8192 2006-11-23
顺便说下 我用的是VS2005
回复
king8192 2006-11-23
我看不太明白 :( 还能具体的给我讲讲么?
回复
dongshanyu 2006-11-23
是多线程使用中UI显示不稳定的问题,我也遇到过。

参见http://community.csdn.net/Expert/TopicView3.asp?id=4943838
回复
dongshanyu 2006-11-23
没错
回复
king8192 2006-11-23
to:dongshanyu(sean)
ToAddLvwItemOfLogNew就是我的添加listview的方法吧,我需要声明若干全局变量,将线程中我要显示的数据放到变量中然后在ToAddLvwItemOfLogNew中使用,我理解的对么?我的线程 在另外的一个类中创建,是不是还要创建个listview的实例传到ToAddLvwItemOfLogNew方法所在的类中呢?我不知道我有没有说明白,我理解的是否正确~先谢了 dongshanyu(sean)
回复
dongshanyu 2006-11-23
下面这段代码在类中使用
Private Sub toAddMsg()
Dim mi As MethodInvoker
mi = New MethodInvoker(AddressOf ToAddLvwItemOfLogNew)
mLvwLog.Invoke(mi)
End Sub

至于你要显示的信息,在类中,你可以用变量来存放.


回复
发帖
VB
创建于2007-09-28

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
帖子事件
创建了帖子
2006-11-23 11:51
社区公告
暂无公告