Saturday, 14 September 2013

VB.Net - ListBox Control

The ListBox represents a Windows control to display a list of items to a user. A user can select an item from the list. It allows the programmer to add items at design time by using the properties window, or at the runtime.
Let's create a list box by dragging a ListBox control from the Toolbox and dropping it on the form.
VB.Net List Box
You can populate the list box items either from the properties window or at runtime. To add items to a ListBox, select the ListBox control and get to the properties window, for the properties of this control. Click the ellipses (...) button next to the Items property. This opens the String Collection Editor dialog box, where you can enter the values one at a line.

Properties of the ListBox Control

The following are some of the commonly used properties of the ListBox control:
S.NPropertyDescription
1AllowSelectionGets a value indicating whether the ListBox currently enables selection of list items.
2BorderStyleGets or sets the type of border drawn around the list box.
3ColumnWidthGets of sets the width of columns in a multicolumn list box.
4HorizontalExtentGets or sets the horizontal scrolling area of a list box.
5HorizontalScrollBarGets or sets the value indicating whether a horizontal scrollbar is displayed in the list box.
6ItemHeightGets or sets the height of an item in the list box.
7ItemsGets the items of the list box.
8MultiColumnGets or sets a value indicating whether the list box supports multiple columns.
9ScrollAlwaysVisibleGets or sets a value indicating whether the vertical scroll bar is shown at all times.
10SelectedIndexGets or sets the zero-based index of the currently selected item in a list box.
11SelectedIndicesGets a collection that contains the zero-based indexes of all currently selected items in the list box.
12SelectedItemGets or sets the currently selected item in the list box.
13SelectedItemsGets a collection containing the currently selected items in the list box.
14SelectedValueGets or sets the value of the member property specified by the ValueMember property.
15SelectionModeGets or sets the method in which items are selected in the list box. This property has values:
  • None
  • One
  • MultiSimple
  • MultiExtended
16SortedGets or sets a value indicating whether the items in the list box are sorted alphabetically.
17TextGets or searches for the text of the currently selected item in the list box.
18TopIndexGets or sets the index of the first visible item of a list box.

Methods of the ListBox Control

The following are some of the commonly used methods of the ListBox control:
S.NMethod Name & Description
1BeginUpdate
Prevents the control from drawing until the EndUpdate method is called, while items are added to the ListBox one at a time.
2ClearSelected
Unselects all items in the ListBox.
3EndUpdate
Resumes drawing of a list box after it was turned off by the BeginUpdate method.
4FindString
Finds the first item in the ListBox that starts with the string specified as an argument.
5FindStringExact
Finds the first item in the ListBox that exactly matches the specified string.
6GetSelected
Returns a value indicating whether the specified item is selected.
7SetSelected
Selects or clears the selection for the specified item in a ListBox.
8OnSelectedIndexChanged
Raises the SelectedIndexChanged event.
8OnSelectedValueChanged
Raises the SelectedValueChanged event.

Events of the ListBox Control

The following are some of the commonly used events of the ListBox control:
S.NEventDescription
1ClickOccurs when a list box is selected.
2SelectedIndexChangedOccurs when the SelectedIndex property of a list box is changed.
Consult Microsoft documentation for detailed list of properties, methods and events of the ListBox control.

Example 1

In the following example, let us add a list box at design time and add items on it at runtime.
Take the following steps:
  1. Drag and drop two labels, a button and a ListBox control on the form.
  2. Set the Text property of the first label to provide the caption "Choose your favourite destination for higher studies".
  3. Set the Text property of the second label to provide the caption "Destination". The text on this label will change at runtime, when the user selects an item on the list.
  4. Click the listbox and the button controls to add the following codes in the code editor.
Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
      ' Set the caption bar text of the form.  
      Me.Text = "tutorialspont.com"
      ListBox1.Items.Add("Canada")
      ListBox1.Items.Add("USA")
      ListBox1.Items.Add("UK")
      ListBox1.Items.Add("Japan")
      ListBox1.Items.Add("Russia")
      ListBox1.Items.Add("China")
      ListBox1.Items.Add("India")
   End Sub
  
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      MsgBox("You have selected " + ListBox1.SelectedItem.ToString())
   End Sub
   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) 
        Handles ListBox1.SelectedIndexChanged
      Label2.Text = ListBox1.SelectedItem.ToString()
   End Sub
End Class
When the above code is executed and run using Start button available at the Microsoft Visual Studio tool bar, it will show following window:
Result Form
When the user chooses a destination, the text in the second label changes:
Result Form
Clicking the Select button, displays a message box with the user's choice:
List Example Dialog Box

Example 2

In this example, we will fill up a list box with items, retrieve the total number of items in the list box, sort the list box, remove some items and clear the entire list box.
Design the Form:
List Box Example2
Add the following code in the code editor window:
Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
      ' Set the caption bar text of the form.  
      Me.Text = "tutorialspont.com"
      ' creating multi-column and multiselect list box
      ListBox1.MultiColumn = True
      ListBox1.SelectionMode = SelectionMode.MultiExtended
   End Sub
   'populates the list
   Private Sub Button1_Click_1(sender As Object, e As EventArgs) _
          Handles Button1.Click
      ListBox1.Items.Add("Safety")
      ListBox1.Items.Add("Security")
      ListBox1.Items.Add("Governance")
      ListBox1.Items.Add("Good Music")
      ListBox1.Items.Add("Good Movies")
      ListBox1.Items.Add("Good Books")
      ListBox1.Items.Add("Education")
      ListBox1.Items.Add("Roads")
      ListBox1.Items.Add("Health")
      ListBox1.Items.Add("Food for all")
      ListBox1.Items.Add("Shelter for all")
      ListBox1.Items.Add("Industrialisation")
      ListBox1.Items.Add("Peace")
      ListBox1.Items.Add("Liberty")
      ListBox1.Items.Add("Freedom of Speech")
   End Sub
   'sorting the list
   Private Sub Button2_Click(sender As Object, e As EventArgs) _
          Handles Button2.Click
      ListBox1.Sorted = True
   End Sub
   'clears the list
   Private Sub Button3_Click(sender As Object, e As EventArgs) _
          Handles Button3.Click
      ListBox1.Items.Clear()
   End Sub
   'removing the selected item
   Private Sub Button4_Click(sender As Object, e As EventArgs) _
          Handles Button4.Click
      ListBox1.Items.Remove(ListBox1.SelectedItem.ToString)
   End Sub
   'counting the numer of items
   Private Sub Button5_Click(sender As Object, e As EventArgs) _
          Handles Button5.Click
      Label1.Text = ListBox1.Items.Count
   End Sub
   'displaying the selected item on the third label
   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) _
           Handles ListBox1.SelectedIndexChanged
      Label3.Text = ListBox1.SelectedItem.ToString()
   End Sub
End Class
When the above code is executed and run using Start button available at the Microsoft Visual Studio tool bar, it will show following window:
Result Form List Box Example 2
Fill the list and check workings of other buttons:
Result Form List Box Example 2

No comments:

Post a Comment