This documentation is archived and is not being maintained.

ListBox Web Server Control Overview

The ListBox Web server control enables users to select one or more items from a predefined list. It differs from a DropDownList control in that it can display multiple items at once and it optionally enables the user to select multiple items.

The ListBox control is typically used to display more than one item at once. You can control the look of the list in these ways:

  • Number of rows displayed. You can set the control to display a specific number of items. If the control contains more items than that, it displays a vertical scroll bar.

  • Height and width. You can set the size of the control using pixels. In that case, the control ignores the number of rows you have set and displays as many as will fit into the height of the control. Some browsers do not support setting the height and width in pixels and will use the row count setting.

As with other Web server controls, you can use style objects to specify the appearance of the control. For details, see ASP.NET Web Server Controls and CSS Styles.

The ListBox control is a container for one or more list items. Each list item is an object of type ListItem with its own properties, described in the following table.

Property Description


The text displayed in the list.


The value associated with an item. Setting this property enables you to associate a value with a specific item without displaying it. For example, you can set the Text property to the name of a U.S. state and the Value property to its postal abbreviation.


A Boolean value indicating whether the item is selected.

To work with items programmatically, you work with the Items collection of the ListBox control. The Items collection is a standard collection, and you can add item objects to it, delete items, clear the collection, and so on.

The currently selected item is available in the ListBox control's SelectedItem property. For ease of use, the ListBox control also supports a property called SelectedItem. If the control is set to single-selection mode, this property returns the one selected item, making it unnecessary to loop through the entire Items collection to get at the current selection.

Users can normally select a single item in the list by clicking it. If you set the ListBox control to enable multiple selections, users can hold down the CTRL or SHIFT key while clicking to select multiple items.

You can use a ListBox Web server control to list options that are made available to the page using a data source control. Each item in the ListBox control corresponds to an item — typically a row — in the data source.

The control displays one field from the source. Optionally, you can bind the control to a second field to set the value (which is not displayed) of an item.

As with other server controls, you can bind any control properties, such as the color or size of the control, to data. For details, see How to: Populate List Web Server Controls from a Data Source.

The ListBox control raises the SelectedIndexChanged event when users select an item. By default, this event does not cause the page to be posted to the server, but you can cause the control to force an immediate postback by setting the AutoPostBack property to true.


The ability of a ListBox control to post to the server when it is checked requires that the browser support ECMAScript (JScript, JavaScript) and that scripting be enabled on the user's browser.