2015-10-13 3 views
0

У меня есть список ListBoxes listbox1 и listbox2. Я хочу получить все повторяющиеся элементы в ListBox1, которые я бы искал в TextBox и вставлял в ListBox2, и когда все дублирующиеся элементы, которые я бы выполнил, находятся в ListBox2, он автоматически подсчитывает, пожалуйста, помогите мне.Выберите элементы из одного списка в другой

Например, элементы в ListBox1

DOG 
DOG 
DOG 
CAT 
CAT 

Когда я собака типа в TextBox все собаки в ListBox1 будут скопированы в ListBox2. Как мне это сделать?

Я попробовал этот

Dim check As Boolean 
For Each item In ListBox1.Items 
    check = ListBox1.FindStringExact(item) 
    ListBox2.Items.Add(item) 
Next 

я также попробовать это, но его неправильно, это Графская линия перед точным словом, я бы искать. , например DOG DOG DOG CAT CAT я бы искать кошку в текстовом поле выход в listbox2 является 3 вот мой код:

Dim проверка As String

check = ListBox1.FindStringExact(TextBox1.Text) 
    ListBox2.Items.Add(check) 

ответ

1
listBox2.Items.AddRange(listBox1.Items.Cast(Of ListItem)().Where(Function(x) x.Text = TextBox1.Text).ToArray(Of ListItem)()) 
+0

сэр ее не работает у меня :( – NewProg

+0

вы получаете любую ошибку? –

+0

Да, сэр У меня есть ошибка в ListItem, что я должен делать с этим? – NewProg

0

Попробуйте приведенный ниже код нажатием кнопки после ввода значения в текстовое поле.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim searchFor As String = TextBox1.Text 
    For Each item In ListBox1.Items 
     If item = searchFor Then 
      ListBox2.Items.Add(item) 
     End If 
    Next 

    Do While ListBox1.Items.Contains(searchFor) 
     ListBox1.Items.Remove(searchFor) 
    Loop 
End Sub 
+0

СПАСИБО СЕЙЧАС !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ВАШ МОЙ СПАСИБО! !!!!!! – NewProg

+0

, но сэр можно ли копировать, чтобы не удалять элементы в listbox1? В listbox2? – NewProg

+0

Просто удалите код Do While. Если это решает вашу проблему, отметьте это как ответ. – Ian