Getallen in Visual Basic van laagste tot hoogste rangschikken is een functie van de operatie van de "Soort" in de klasse List. Helaas, het is niet een functie van de ListBox Graphical User Interface (GUI) element, dus om deze bewerking op de gegevens in een ListBox, moet u eerst de gegevens naar een lijst verplaatsen.
Een listbox aan uw formulier toevoegen door deze te slepen uit de lijst van de "Componenten" aan de linkerkant.
Een knop toevoegen aan uw formulier. In het eigenschappen-Editor bij het bodemrecht van het scherm wijzigen in de eigenschap text "Sort." Wijzig de eigenschap name om "SortButton." Dit zal gemakkelijker om te identificeren deze knop wanneer u code schrijft.
Een tekstvak toevoegen aan uw formulier. Wijzigen van de eigenschap name om "UserInputTextBox", maar laat de teksteigenschap leeg. Dit is waar de gebruiker een nummer toe te voegen aan de keuzelijst zal invoeren.
Een label toevoegen aan uw formulier en plaats deze naast het tekstvak dat u in stap 3 hebt toegevoegd. Verander de teksteigenschap "Een getal invoeren."
Een knop toevoegen. Wijzigt u de tekst "Toevoegen aan lijst." De eigenschap name wijzigen in "Knop toevoegen."
Dubbelklik op de knop 'Toevoegen'. Dit maakt een gebeurtenisfunctie actie en verplaatst u naar die locatie. Plak deze code binnen de functie:
Dim number As Double = New Double number = Double.Parse(UserInputTextBox.Text) ListBox1.Items.Add(number.ToString)
Dit creëert een nummer als een double, dus er is er genoeg ruimte voor decimalen. Het probeert te interpreteren (of ontleden) de informatie in de UserInputTextBox als een getal. En tot slot, als het kan met succes het interpreteren van de invoer van de gebruiker als een getal, het toegevoegd aan de keuzelijst.
Klik op het tabblad "Ontwerp" om terug te keren naar het formuliervenster van uw.
Dubbelklik op de knop "Sorteren". Omdat de lijst die is ingebouwd in de ListBox biedt geen ondersteuning voor de sorteerbewerking, moet u alle nummers in de ListBox in een List-object voordat u sorteren, vervolgens sorteren, en ten slotte terug naar de ListBox verplaatsen. Plak deze code om dat te doen:
Dim numbers As List(Of Double) = New List(Of Double) For Each n As Double In ListBox1.Itemsnumbers.Add(n)Next ListBox1.Items.Clear() numbers.Sort() For Each n As Double In numbersListBox1.Items.Add(n)Next