When you use any Web server control based on the ListControl class,
you can use the Items collection's Add method to add
items to it, which works for Web server list boxes as well. The Items collection
is a collection of ListItem objects, and you can either pass a ListItem object
to the Add method or the text you want to give to the new item.
To see how this works, take a look at the AddItems example in the code for
this
book. You can see this example at work in Figure
14.6—when you click the Add New Item button, a new item is added to
the list box (Item 3 is new in this figure).
Figure 14.6
Adding new items to a list box at runtime.
To add a new item to the list box, you can use the Add method like
this, which adds a new item and set the correct caption using the Count property
of the list box's Items collection:
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
ListBox1.Items.Add("Item " & ListBox1.Items.Count)
End Sub
When the list box appears the first time, the list box has three items in it:
<select name="ListBox1" size="4" onchange="__
doPostBack('ListBox1','')" language="javascript"
id="ListBox1" style="height:123px;width:142px;Z-INDEX:
102; LEFT: 153px; POSITION: absolute; TOP: 70px">
<option value="Item 0">Item 0</option>
<option value="Item 1">Item 1</option>
<option value="Item 2">Item 2</option>
</select>
After you click the Add New Item button, the list box will come back from the server with four items in it:
<select name="ListBox1" size="4" onchange="__
doPostBack('ListBox1','')" language="javascript"
id="ListBox1" style="height:123px;width:142px;Z-INDEX:
102; LEFT: 153px; POSITION: absolute; TOP: 70px">
<option value="Item 0">Item 0</option>
<option value="Item 1">Item 1</option>
<option value="Item 2">Item 2</option>
<option value="Item 3">Item 3</option>
</select>
That's all there is to it; the next time you click the Add New Item button, another item will be added, and so on.
This example also adds code to the list box's SelectedIndexChanged event
handler to display the selection the user makes in a text box, like this:
Private Sub ListBox1_SelectedIndexChanged(ByVal _
sender As System.Object, ByVal e As System.EventArgs) _
Handles ListBox1.SelectedIndexChanged
TextBox1.Text = "You selected " & ListBox1.SelectedItem.Text
End Sub
As you can see, it's fairly easy to work with standard Web server list box controls. Another type of HTML control functions very similar to list controls—drop-down list controls—and they're coming up next.
Comments