Удалить несколько одинаковых значений в listbox VB.net

#mysql #vb.net

#mysql #vb.net

Вопрос:

как удалить все данные в listbox. неясно, есть ли другие значения, которые просто предпочтительнее отображать только эти данные. просто хочу удалить их все сразу.

введите описание изображения здесь

Комментарии:

1. Уточните сами. Вы хотите удалить элементы, внешний вид которых больше одного?

2. ListBox.Clear или любой другой эквивалент в ваших элементах управления.

3. изображение, которое я прикрепил, является всего лишь образцом для розыгрыша. это умножается на их записи. чего я хочу, так это того, что когда их запись была выбрана. всего одна запись. это удалит все остальные их записи. точно так же, как на изображении. если выбрана эта запись, я хотел бы очистить или удалить их из listbox. мой listbox заполняется с использованием базы данных, и для его обновления требуется много времени, если я перезагружаю listbox.

4. Где находятся элементы, добавляемые в ListBox? Вероятно, было бы проще избежать дубликатов там.

Ответ №1:

Вы можете попробовать этот код

 Imports System.Linq
Imports System.Collections.Generic
Imports System

Public Class Form1

Private list As New List(Of Integer)()

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    ListBox1.Items.Clear()
    list.Clear()

    list.Add(1)
    list.Add(2)
    list.Add(3)
    list.Add(3)
    list.Add(4)
    list.Add(4)
    list.Add(4)

    For Each value As Integer In list
        ListBox1.Items.Add(value)
    Next
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ListBox1.Items.Clear()
    Dim distinct As List(Of Integer) = list.Distinct().ToList()

    For Each value As Integer In distinct
        ListBox1.Items.Add(value)
    Next
End Sub
End Class