Nwlapcug.com


Come determinare se un controllo Listbox ha duplicati

Come determinare se un controllo Listbox ha duplicati


Scoprire se dispone di un controllo ListBox elementi duplicati vi aiuterà a imparare a eseguire il codice appropriato per rimuoverli. Spesso i programmatori fanno l'errore di compilazione di un controllo ListBox con dati duplicati dal database. Si consiglia di eliminare i duplicati quando si esegue una query i dati. In VB, è possibile utilizzare la proprietà Items del controllo ListBox per ottenere un elenco di elementi attualmente memorizzati in ListBox. Una volta che ottenete il riferimento che si dirige verso l'elenco, è possibile scorrere gli elementi per individuare duplicati.

Istruzioni

1

Avviare Microsoft Visual Studio, fare clic su "Nuovo progetto" dal riquadro sinistro dello schermo del computer ed espandere "Visual Basic" sotto "Modelli installati." Fare clic su "Windows" e fare doppio clic su "Windows Forms Application" dal centro della finestra di dialogo per creare un nuovo progetto.

2

Fare doppio clic su "ListBox" per aggiungere un nuovo controllo casella di riepilogo al form. Fare doppio clic sul "Pulsante" per aggiungere un nuovo pulsante al form.

3

Fare doppio clic sul form per creare un evento di caricamento del form e aggiungere il codice seguente per aggiungere alcuni elementi inclusi i duplicati al controllo ListBox:

Me.ListBox1.Items.Add("January")

Me.ListBox1.Items.Add("February")

Me.ListBox1.Items.Add("March")

Me.ListBox1.Items.Add("April")

Me.ListBox1.Items.Add("April")

Me.ListBox1.Items.Add("January")4

Tornare alla visualizzazione progettazione "Form" e fare doppio clic su "Button1" per creare un evento click per questo pulsante. Aggiungere il codice riportato di seguito per visualizzare eventuali elementi duplicati trovati attraverso la "Finestra immediata" e la visualizzazione di un messaggio all'utente:

Me.ListBox1.Sorted = True

Me.ListBox1.Refresh()

Dim index As Integer

Dim dupFound As Boolean

Dim itemcount As Integer = Me.ListBox1.Items.Count

If itemcount > 1 Then

Dim lastitem As String = Me.ListBox1.Items(itemcount - 1)

For index = itemcount - 2 To 0 Step -1

If Me.ListBox1.Items(index) = lastitem Then

dupFound = True

Debug.Print(Me.ListBox1.Items(index).ToString)

Me.ListBox1.Items.RemoveAt(index)

Else

lastitem = Me.ListBox1.Items(index)

End If

Next

End If

If dupFound Then

MessageBox.Show("Duplicates were found in ListBox.")

Else

MessageBox.Show("No duplicates found.")

End If5

Premere "F5" per eseguire il programma. Fare clic su "Button1" per cancellare i duplicati e visualizza un messaggio che indica se Duplica erano o non sono stati trovati.