vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: TextBox, ListBox & ComboBox01.07.08
Einträge an einer bestimmten Stelle einer Listbox hinzufügen (VB.NET)

VB-Version:  VB.NET
 Views:  15.780 

Standardmäßig werden Einträge einer Listbox immer am Ende hinzugefügt. Da man die Position der Einträge über den Index bestimmen kann, kann man mit der Methode Insert() dem User die Möglichkeit geben, einen neuen Eintrag an einer bestimmten Stelle zu positionieren. Um das auszuprobieren, benötigen wir in unserem Projekt eine Listbox (ListBox1), eine Textbox (TextBox1), einen Button (btnEinfuegen) und drei RadioButtons (rbAnfang, rbVor, rbNach) sowie den folgenden Code:

Public Class Form1
  Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
 
    ' Listbox füllen
    For i = 1 To 10
      ListBox1.Items.Add("Eintrag " & CStr(i))
   Next
  End Sub
 
  Private Sub btnEinfuegen_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnEinfuegen.Click
 
    ' überprüfen ob Textbox leer ist. Falls ja, Sub verlassen
    If TextBox1.Text = "" Then Exit Sub
 
    ' überprüfen welcher RadioButton angeklickt ist und 
    ' entsprechend reagieren
    If rbAnfang.Checked Then
      ' wenn angeklickt, Eintrag am Anfang einsetzen
      ListBox1.Items.Insert(0, TextBox1.Text)
 
    ElseIf rbVor.Checked And ListBox1.SelectedIndex <> -1 Then
      ' wenn angeklickt, Eintrag vor dem ausgewählten Eintrag einsetzen
      ListBox1.Items.Insert(ListBox1.SelectedIndex, TextBox1.Text) 
 
    ElseIf rbNach.Checked And ListBox1.SelectedIndex <> -1 Then
      ' wenn angeklickt, Eintrag nach dem ausgewählten Eintrag einsetzen
      ListBox1.Items.Insert(ListBox1.SelectedIndex + 1, TextBox1.Text) 
 
    Else
      ' wenn nichts angeklickt ist, Eintrag am Ende der Liste einsetzen
      ListBox1.Items.Add(TextBox1.Text) 
    End If
 
    ' Textbox wieder leeren
    TextBox1.Text = ""
  End Sub
End Class

 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.