Добавление нескольких элементов из одного списка в другой VB.Net - PullRequest
1 голос
/ 12 июля 2011

С этим кодом я могу перемещать только отдельные элементы из одного списка в другой.Я пытался использовать MultiSimple и MultiExtended SelectionMode.

Как выбрать несколько элементов, а затем переместить их?

Private Sub cmdAdd_Click(ByVal sender As System.Object, 
                         ByVal e As System.EventArgs
                        ) Handles cmdAdd.Click

        Dim i As Integer = Listbox1.SelectedIndex

        If i = -1 Then
            Exit Sub 'skip if no item is selected
        End If

        Listbox2.Items.Add(Listbox1.Items(i)) 
        Listbox1.Items.RemoveAt(i)

    End Sub

Ответы [ 3 ]

2 голосов
/ 12 июля 2011

Вам необходимо использовать SelectedIndices или SelectedItems.

Private Sub cmdAdd_Click(ByVal sender As System.Object, 
                         ByVal e As System.EventArgs
                        ) Handles cmdAdd.Click

    Dim selectedItems = (From i In ListBox1.SelectedItems).ToArray()

    For Each selectedItem In selectedItems

        Listbox2.Items.Add(selectedItem)
        Listbox1.Items.Remove(selectedItem)

    Next

End Sub

Обратите внимание на использование запроса Linq для получения списка выбранных элементов в виде массива.Использование массива необходимо для предотвращения исключений «Коллекция изменена».Возможно, вам потребуется добавить ссылку на System.Linq.

0 голосов
/ 23 января 2019
Private Sub cmdAdd_Click(ByVal sender As System.Object, 
                     ByVal e As System.EventArgs
                    ) Handles cmdAdd.Click


For Each selectedItem In (From i In ListBox1.SelectedItems).Tolist()


    Listbox2.Items.Add(selectedItem)
    Listbox1.Items.Remove(selectedItem)

Next

End Sub
0 голосов
/ 17 марта 2014
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ComboBox1.Items.Add("SanDiego")
    ComboBox1.Items.Add("BeverlyHills")
    ComboBox1.Items.Add("Florida")
    ComboBox1.Items.Add("NewYork")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim s As String
    s = ComboBox1.SelectedItem

    ListBox1.Items.Add(s)
    ComboBox1.Items.Remove(s)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...