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 If
5
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.