1 / 26

Gegevensstructuren: list boxen en lijsten

Gegevensstructuren: list boxen en lijsten. Hoofdstuk 13. In dit hoofdstuk …. Nieuwe control: ListBox Items toevoegen en verwijderen Lengte Selectie, zoeken Nieuwe datastructuur: (I)List Objecten toevoegen en verwijderen Lengte Selectie, zoeken

roch
Download Presentation

Gegevensstructuren: list boxen en lijsten

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gegevensstructuren:list boxen en lijsten Hoofdstuk 13

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

  3. 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. 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. 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. 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. 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 proberenClear, Clone, Contains, IndexOf, LastIndexOf, Remove, RemoveAt, Reverse, Sort Visual Basic .NET voor studenten

  10. 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. 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. 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. 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. 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. 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. 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. 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. 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:http://www.codeproject.com/vb/net/databindingconcepts.asp Visual Basic .NET voor studenten

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

  22. 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. CheckedListBox • Identiek aan een ListBox, maar elk item kan aangevinkt worden • De aangevinkte items zijn te vinden via de propertyCheckedListBox.CheckedItems Visual Basic .NET voor studenten

  24. 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. 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. Oefening Een ComboBox bevat verschillende kleuren. Een label wordt naargelang de gekozen kleur ingevuld Visual Basic .NET voor studenten

More Related