List Box & ComboBox in C Sharp
List Box & ComboBox in C Sharp
In Windows Forms, ListBox control is used to show multiple elements in a list, from which a user can
select one or more elements and the elements are generally displayed in multiple columns. The ListBox
class is used to represent the windows list box and also provide different types of properties, methods,
and events. It is defined under System.Windows.Forms namespace. The ListBox class contains three
different types of collection classes, i.e.
• ListBox.ObjectCollection: This class holds all the elements contained in the ListBox control.
In C# you can create a ListBox in the windows form by using two different ways:
1. Design-Time: It is the easiest way to create a ListBox as shown in the following steps:
• Step 2: Next, drag and drop the ListBox control from the toolbox to the form.
• Step 3: After drag and drop you will go to the properties of the ListBox control to modify ListBox
according to your requirement.
Output:
listBox2.Items.Add(items);
//listBox1.Items.RemoveAt(listBox1.SelectedItems[items]);
}
for(int i = listBox1.SelectedItems.Count - 1; i >= 0; i--)
{
listBox1.Items.Remove(listBox1.SelectedItems[i]);
2. Run-Time: It is a little bit trickier than the above method. In this method, you can create a ListBox
control programmatically with the help of syntax provided by the ListBox class. The following steps show
how to set the create ListBox dynamically:
Step 1: Create a ListBox control using the ListBox() constructor is provided by the ListBox class.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp25 {
public Form1()
{
InitializeComponent();
}
Output:
Constructor
Constructor Description
ListBox() This Constructors is used to initialize a new instance of the ListBox class.
Properties
Property Description
This property is used to get or set a value that indicates whether the control resizes
AutoSize
based on its contents.
BackColor This property is used to get or set the background color for the control.
BorderStyle This property indicates the border style for the control.
Font This property is used to get or set the font of the text displayed by the control.
ForeColor This property is used to get or set the foreground color of the control.
Height This property is used to get or set the height of the control.
This property is used to get or set the coordinates of the upper-left corner of the
Location
ListBox control relative to the upper-left corner of its form.
Name This property is used to get or set the name of the control.
This property is used to get or set a value that shows whether the user can press the
TabStop
TAB key to provide the focus to the ListBox.
Size This property is used to get or set the height and width of the control.
Text This property is used to get or set the text to be displayed in the RichTextBox control.
This property is used to get or set a value indicating whether the control and all its
Visible
child controls are displayed.
Width This property is used to get or set the width of the control.
ColumnWidth This property is used to get or set the width of columns in a multicolumn ListBox.
This property is used to get or set the width by which the horizontal scroll bar of a
HorizontalExtent
ListBox can scroll.
ItemHeight This property is used to get or set the height of an item in the ListBox.
PreferredHeight This property is used to get the combined height of all items in the ListBox.
This property is used to get or set the zero-based index of the currently selected item
SelectedIndex
in a ListBox.
SelectedItem This property is used to get or set the currently selected item in the ListBox.
This property is used to get a collection that contains the zero-based indexes of all
SelectedIndices
currently selected items in the ListBox.
This property is used to get or set a value indicating whether the items in the ListBox
Sorted
are sorted alphabetically.
TopIndex This property is used to get or set the index of the first visible item in the ListBox.
ComboBox in C#
•
••
In Windows Forms, ComboBox provides two different features in a single control,
it means ComboBox works as both TextBox and ListBox. In ComboBox, only one
item is displayed at a time and the rest of the items are present in the drop-down
menu. The ComboBox is a class in C# and defined
under System.Windows.Forms Namespace. You can create ComboBox using the
two different ways:
• Visual Studio -> File -> New -> Project -> WindowsFormApp
• Step 2: Drag the ComboBox control from the ToolBox and drop it on the
windows form. You are allowed to place a ComboBox control anywhere on
the windows form according to your need.
•
• Step 3: After drag and drop you will go to the properties of the ComboBox
control to set the properties of the ComboBox according to your need.
•
Output:
Run-Time: It is a little bit trickier than the above method. In this method, you can
set create your own ComboBox control using the ComboBox class. Steps to create a
dynamic ComboBox:
• Step 1: Create a combobox using the ComboBox() constructor is provided
by the ComboBox class.
// Creating combobox using ComboBox class
ComboBox mybox = new ComboBox();
• Step 2: After creating ComboBox, set the properties of the ComboBox
provided by the ComboBox class.
// Set the location of the ComboBox
mybox.Location = new Point(327, 77);
namespace WindowsFormsApp18 {
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Creating and setting the properties of label
Label l = new Label();
l.Location = new Point(22, 50);
l.AutoSize = true;
l.Text = "Select Programming Language";
• Output:
DropDownHeight This property is used to set the height in pixels of the drop-down portion of the
ComboBox control.
DropDownStyle This property is used to set a value specifying the style of the ComboBox
control.
DropDownWidth This property is used to set the width of the drop-down portion of a ComboBox
control.
Font This property is used to set the font of the text displayed by the ComboBox
control.
ForeColor This property is used to set the foreground color of the ComboBox control.
Height This property is used to set the height of the ComboBox control.
Items This property is used to get an object representing the collection of the items
contained in this ComboBox control.
MaxDropDownItems This property is used to set the maximum number of items to be shown in the
drop-down portion of the ComboBox control.
MaxLength This property is used to set the number of characters a user can type into the
ComboBox control.
Name This property is used to set the name of the ComboBox control.
SelectedItem This property is used to set currently selected item in the ComboBox.
Size This property is used to set the height and width of the ComboBox control.
Sorted This property is used to set a value indicating whether the items in the combo
box are sorted.
Text This property is used to set the text associated with this ComboBox control.
Visible This property is used to set a value indicating whether the control and all its
child controls are displayed.
Important Events
Event Description
Click This event occurs when the ComboBox control is clicked.
DropDownClosed This event occurs when the drop-down portion of the ComboBox
is no longer visible.
MouseClick This event occurs when the ComboBox control is clicked by the
mouse.
MouseDoubleClick This event occurs when the ComboBox control is double clicked
by the mouse.
MouseDown This event occurs when the mouse pointer is over the ComboBox
control and a mouse button is pressed.
MouseEnter This event occurs when the mouse pointer enters the ComboBox
control.
MouseHover This event occurs when the mouse pointer rests on the ComboBox
control.
SelectedIndexChanged This event occurs when the SelectedIndex property has changed.