求教:vb.net 多线程问题
Public Class ClientForm
'访问其他控件的线程
Dim other_thread As Thread
'个人权限列表所在的字符串
Dim quanxian_list As String
Delegate Sub quanxian_oth(ByVal ai As String)
此处是通过TCP/IP服务器返回的字符串判断后执行此代码
other_thread = New Thread(AddressOf quanxian_weituo)
other_thread.Start()
'此过程是委托过程
Public Sub quanxian_weituo()
Dim quanx As String
Dim bb As Int16
bb = Microsoft.VisualBasic.Right(quanxian_list, Len(quanxian_list) - InStr(quanxian_list, "δ")) '获得权限数量
quanxian_list = Microsoft.VisualBasic.Left(quanxian_list, InStr(quanxian_list, "δ") - 1) '所有权限的字符串,可以假设为a01|a02|等等
For i = 1 To bb
quanx = Microsoft.VisualBasic.Left(quanxian_list, InStr(quanxian_list, "|") - 1) '当前权限名称,可以理解为某一个可以代替一个控件名称的字符串
quanxian_list = Microsoft.VisualBasic.Right(quanxian_list, Len(quanxian_list) - InStr(quanxian_list, "|"))
Me.Invoke(New quanxian_oth(AddressOf quanxiang_true), quanx) '同步调用
Next i
other_thread.Abort()
End Sub
'此过程是执行过程,MenuStrip1控件下的项全部为false,遍历MenuStrip1控件,查找MenuStrip1下的名称与response 字符串相同的项,如果相同则MenuStrip1下项的enabled为true
Public Sub quanxiang_true(ByVal response As String)
Dim cu_control, nu_control As ToolStripMenuItem
For Each nu_control In Me.MenuStrip1.Items
For Each cu_control In nu_control.DropDownItems
If cu_control.Name = response Then
cu_control.Enabled = True
End If
Next
Next
End Sub
end class
问:红色字体在第一次执行就出现假死现象,不执行quanxiang_true过程,有没有大神帮忙分析下是什么原因红色字体的invoke不执行quanxiang_true过程?