如何调用vb.net中的循环?
示例:
For Each listViewItem As ListViewItem In Me.TaskListView.Items
Me.ExecuteTask(listViewItem, False)
Next
这样需要调用,但是我该怎么做呢?我不确定如何。这是在我的背景工作人员处理程序内部的内部,在内部时会引起无效的exception。该错误的额外信息是:"跨线程操作无效:从其创建的线程以外的线程中访问的其他线程'taskListView'。"
错误发生在此行上:
For Each listViewItem As ListViewItem In Me.TaskListView.Items
i使用以下子例程
克服winforms中线程的问题Public Sub GuiAsync(ByVal frm As Form, ByVal action As Action)
If action IsNot Nothing Then
If frm.InvokeRequired Then
frm.Invoke(action)
Else
action()
End If
End If
End Sub
我会按以下方式使用它(如果您的代码以一种形式运行,而我是对表格的参考):
GuiAsync(Me,
Sub()
For Each listViewItem As ListViewItem In Me.TaskListView.Items
Me.ExecuteTask(listViewItem, False)
Next
End Sub)