Post by Marco Kurvers on Aug 26, 2024 20:17:28 GMT
Hier is de uitbreiding van het vorige project. Nu met een lijst in plaats van een array met sorteren en herstellen van de gegevens.
Vergeet niet bij de radiobutton Oplopend de Checked eigenschap op True te zetten.
Vergeet niet bij de radiobutton Oplopend de Checked eigenschap op True te zetten.
Public Class Form1
Dim Gegevens() As String
'mogelijkheid 1
'Dim GegevensLijst As List(Of String) = New List(Of String)
'mogelijkheid 2
Dim gegevensLijst As New List(Of String)
Private Sub btnToevoegen_Click(sender As Object, e As EventArgs) Handles btnToevoegen.Click
'Dim count As Integer
'count = lstLijst.Items.Count
'ReDim Preserve Gegevens(count)
'Gegevens(count) = txtWaarde.Text
gegevensLijst.Add(txtWaarde.Text)
lstLijst.Items.Add(txtWaarde.Text)
End Sub
Private Sub btnWeergeven_Click(sender As Object, e As EventArgs) Handles btnWeergeven.Click
'Dim i As Integer
Dim s As String = ""
'Oude manier: lus teller met een array
'For i = 0 To Gegevens.Length - 1
' txtLijst.Text &= Gegevens(i) & vbNewLine
'Next
'Oude manier: lusteller met een lijst
'For i As Integer = 0 To gegevensLijst.Count - 1
' txtLijst.Text &= gegevensLijst(i) & vbNewLine
'Next
'nieuwe manier: itereren door een array
'For Each s In Gegevens
' txtLijst.Text &= s & vbNewLine
'Next
'nieuwe manier: itereren door een lijst
txtLijst.Clear()
For Each s In gegevensLijst
txtLijst.Text &= s & vbNewLine
Next
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
gegevensLijst.Clear()
End Sub
Private Sub btnVerwijder_Click(sender As Object, e As EventArgs) Handles btnVerwijder.Click
If lstLijst.SelectedItems.Count > 0 Then
Dim value As String = lstLijst.SelectedItems.Item(0)
lstLijst.Items.Remove(value)
gegevensLijst.Remove(value)
'btnWeergeven_Click(sender, e)
Else
'oude manier
'MsgBox("Selecteer eerst een item")
'nieuwe manier
MessageBox.Show("Selecteer eerst een item", "Item kiezen", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
End Sub
Private Sub btnSort_Click(sender As Object, e As EventArgs) Handles btnSort.Click
gegevensLijst.Sort()
If rbOplopend.Checked Then
lstLijst.Sorted = True
End If
If rbAflopend.Checked Then
gegevensLijst.Reverse()
End If
For element As Integer = 0 To gegevensLijst.Count - 1
lstLijst.Items(element) = gegevensLijst(element)
Next
btnWeergeven_Click(sender, e)
End Sub
Private Sub btnHerstel_Click(sender As Object, e As EventArgs) Handles btnHerstel.Click
lstLijst.Items.Clear()
gegevensLijst.Clear()
'For Each s As String In gegevensLijst
' lstLijst.Items.Add(s)
'Next
For Each s As String In txtLijst.Lines
lstLijst.Items.Add(s)
gegevensLijst.Add(s)
Next
End Sub
End Class