调用循环vb.net



如何调用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)

最新更新