专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

多线程操作窗体控件的有关问题

发布时间:2011-06-23 14:51:07 文章来源:www.iduyao.cn 采编人员:星星草
多线程操作窗体控件的问题!
Private Delegate Sub SetUserList(ByVal Index As Integer, ByVal subItemIndex As Integer, ByVal str As String)

  Private OnLine As New SetUserList(AddressOf SetUserListItem)


  Public Sub SetUserListItem(ByVal itemIndex As Integer, ByVal subItemIndex As Integer, ByVal str As String)

  Dim obj(2) As Object

  obj(0) = itemIndex

  obj(1) = subItemIndex

  obj(2) = str

  If frm_Server.lst_User.InvokeRequired Then

  frm_Server.lst_User.Invoke(OnLine, obj)

  Else

  frm_Server.lst_User.Items(itemIndex).SubItems(subItemIndex).Text = str

  End If

  End Sub

把线程函数写在窗口类中调用这个委托就可以实现修改,把线程函数写在模块中,再调用此委托的时候frm_Server.lst_User.InvokeRequired 这个值一直返回FALSE,不知道怎么解决

------解决方案--------------------
我也遇到过,但没仔细研究具体原因,只是把delegate部分放在了同一个类中(此处即窗口类)
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: