将列表框项目分为两部分,然后将其粘贴到两个列表框中

时间:2018-06-30 14:55:58

标签: vb.net

所以我想运行的代码是:

 Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
        Dim size2 As Integer = ListBox1.Items.Count / 2
        Dim size1 As Integer = ListBox1.Items.Count - size2

        ListBox2.Items.AddRange(ListBox1.Items.GetRange(0, size1))
        ListBox3.Items.AddRange(ListBox1.Items.GetRange(size1, size2))
    End Sub

我已经导入了System.Linq,但错误发生地点getrange不是listbox.objectcollection的成员

1 个答案:

答案 0 :(得分:0)

Linq中没有GetRange()扩展名。 List(Of T)类具有such a method。因此,您可以使用Cast(Of TResult) extension将集合转换为IEnumerable(Of T),然后使用ToList() extension将其转换为List(Of T)

Dim ItemsList As List(Of Object) = ListBox1.Items.Cast(Of Object).ToList()

ListBox2.Items.AddRange(ItemsList.GetRange(0, size1))
ListBox3.Items.AddRange(ItemsList.GetRange(size1, size2))