De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Gegevensstructuren: list boxen en lijsten

Verwante presentaties


Presentatie over: "Gegevensstructuren: list boxen en lijsten"— Transcript van de presentatie:

1 Gegevensstructuren: list boxen en lijsten
Hoofdstuk 13 Hoofdstuk 13

2 Visual Basic .NET voor studenten
In dit hoofdstuk … Nieuwe control: ListBox Items toevoegen en verwijderen Lengte Selectie, zoeken Nieuwe datastructuur: (I)List Objecten toevoegen en verwijderen ListBox is grafisch, (I)List werkt achter de schermen Visual Basic .NET voor studenten

3 Visual Basic .NET voor studenten
Een ListBox Beschikbaar in de Toolbox Toont een lijst van string items Deze lijst kan tijdens het ontwerpen ingegeven worden (Properties) Visual Basic .NET voor studenten

4 Visual Basic .NET voor studenten
IList De datastructuur die achter de schermen de items van een ListBox beheert Kan ook onafhankelijk van een ListBox worden gebruikt Opmerking: dit is eigenlijk geen klasse, maar een interface  hoofdstuk 23 De werkelijke klasse die achter de schermen speelt is: ListBox.ObjectCollection Visual Basic .NET voor studenten

5 Visual Basic .NET voor studenten
IList Dim myList As IList myList = Shopping.Items Dim numberOfItems As Integer numberOfItems = myList.Count ‘kortere schrijfwijze Dim numberOfItems As Integer = Shopping.Items.Count In welke namespace vind je IList? Waarom is er geen Imports statement nodig in de code van de Form? Visual Basic .NET voor studenten

6 Visual Basic .NET voor studenten
Items toevoegen Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Shopping.Items.Add(TextBox1.Text) End Sub Een toevoeging aan de IList veroorzaakt automatisch een update van de bijhorende ListBox Visual Basic .NET voor studenten

7 De lengte van een ListBox
Private Sub CountButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles CountButton.Click MessageBox.Show(CStr(Shopping.Items.Count)) End Sub Je vraagt het aantal elementen op dat in de bijhorende IList zit Visual Basic .NET voor studenten

8 Visual Basic .NET voor studenten
Indices Een item selecteren vuurt een event af: SelectedIndexChanged Indexen starten vanaf 0! Private Sub Shopping_SelectedIndexChanged( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Shopping.SelectedIndexChanged TextBox1.Text = CStr(Shopping.SelectedIndex) End Sub Visual Basic .NET voor studenten

9 Verwijderen en invoegen
Shopping.Items.RemoveAt(3) Shopping.Items.Insert(5, “Tea”) Bestudeer eveneens volgende methodes en maak kleine testprogrammaatjes om deze methodes uit te proberen Clear, Clone, Contains, IndexOf, LastIndexOf, Remove, RemoveAt, Reverse, Sort Visual Basic .NET voor studenten

10 Visual Basic .NET voor studenten
Opzoektabel Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Dim monthNumber As Integer Dim monthName As String monthNumber = CInt(TextBox1.Text) monthName = CStr(Months.Items(monthNumber - 1)) TextBox2.Text = monthName End Sub Visual Basic .NET voor studenten

11 Rekenen met een ListBox
Bestudeer zelf de code Visual Basic .NET voor studenten

12 Visual Basic .NET voor studenten
For Each Dit kan korter door een speciale For Each constructie Dim sum As Integer Dim n As Integer sum = 0 For index As Integer = 0 To Numbers.Items.Count -1 n = CInt(Numbers.Items.Item(index)) sum = sum + n Next SumTextBox.Text = CStr(sum) Visual Basic .NET voor studenten

13 Visual Basic .NET voor studenten
For Each Dim sum As Integer sum = 0 For Each number As Integer In Numbers.Items sum = sum + number Next SumTextBox.Text = CStr(sum) Visual Basic .NET voor studenten

14 Visual Basic .NET voor studenten
For Each Erg kort Maar: je beschikt niet over de indexwaarde van de lijst Niet zo flexibel! Alleen te gebruiken als je alle waarden van een lijst wil doorlopen Visual Basic .NET voor studenten

15 Visual Basic .NET voor studenten
Zoeken Bestudeer zelf de code Visual Basic .NET voor studenten

16 Gebruik van een lijst - Genericiteit
De List klasse kan ook op zichzelf gebruikt worden Algemene datastructuur Preciezer: List is een klasse die de IList interface implementeert Generisch: je kan aanduiden van welke klasse de objecten zijn die in de List zitten Visual Basic .NET voor studenten

17 Visual Basic .NET voor studenten
List: voorbeeld Private myList As List(Of String) ... myList = New List(Of String) Private myList As New List(Of String) myList kan enkel String objecten bevatten. Dit zal door de compiler gecontroleerd worden. Visual Basic .NET voor studenten

18 Visual Basic .NET voor studenten
List: voorbeeld Imports System.Collections.Generic Benodigde namespace myList.Add("bread") myList.Add("milk") myList.Add("coffee") Toevoegen van items Visual Basic .NET voor studenten

19 Visual Basic .NET voor studenten
List: voorbeeld Dim index As Integer For index = 0 To myList.Count - 1 myListBox.Items.Add(myList(index)) Next For Each s As String In myList myListBox.Items.Add(s) Next Doorlopen van een lijst Visual Basic .NET voor studenten

20 Visual Basic .NET voor studenten
Opmerking In het vorige voorbeeld werden de strings gekopieerd van een List naar de lijst van een ListBox Dit is overbodig werk, want je kan gebruik maken van “Data Binding” Dit valt echter buiten het bestek van de cursus Meer info: Visual Basic .NET voor studenten

21 Methodes en Properties van List
Bestudeer dit zelf in de online Help Visual Basic .NET voor studenten

22 Visual Basic .NET voor studenten
Lijsten van objecten Bestudeer de code: welke klasse van objecten wordt in een List bewaard? Welk List methodes worden gebruikt? Visual Basic .NET voor studenten

23 Visual Basic .NET voor studenten
CheckedListBox Identiek aan een ListBox, maar elk item kan aangevinkt worden De aangevinkte items zijn te vinden via de property CheckedListBox.CheckedItems Visual Basic .NET voor studenten

24 Visual Basic .NET voor studenten
Oefening Tracht zelf volgend programma te schrijven: elk item dat je aan- of afvinkt wordt toegevoegd of verwijderd in de ListBox rechts. Visual Basic .NET voor studenten

25 Visual Basic .NET voor studenten
ComboBox Voeg een ComboBox toe op een form Welk event wordt er afgevuurd als een item wordt geselecteerd? Hoe kan je het geselecteerde item opvragen? Experimenteer met de property DropDownStyle Visual Basic .NET voor studenten

26 Visual Basic .NET voor studenten
Oefening Een ComboBox bevat verschillende kleuren. Een label wordt naargelang de gekozen kleur ingevuld Visual Basic .NET voor studenten


Download ppt "Gegevensstructuren: list boxen en lijsten"

Verwante presentaties


Ads door Google