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:
1. Design-Time: It is the easiest method to create a ComboBox control using the following steps:
- Step 1: Create a windows form as shown in the below image:
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); // Set the size of the ComboBox mybox.Size = new Size(216, 26); // Add items in the ComboBox mybox.Items.Add("C#"); mybox.Items.Add("Java"); mybox.Items.Add("Scala"); mybox.Items.Add("C"); mybox.Items.Add("C++"); - Step 3: And last add this ComboBox control to form using Add() method.
// Add this ComboBox to the form this.Controls.Add(mybox);
Example:
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceWindowsFormsApp18 {publicpartialclassForm1 : Form {publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender, EventArgs e){// Creating and setting the properties of labelLabel l =newLabel();l.Location =newPoint(122, 80);l.AutoSize =true;l.Text ="Select Programming Language";// Adding this label to the formthis.Controls.Add(l);// Creating and setting the properties of comboBoxComboBox mybox =newComboBox();mybox.Location =newPoint(327, 77);mybox.Size =newSize(216, 26);mybox.Items.Add("C#");mybox.Items.Add("Java");mybox.Items.Add("Scala");mybox.Items.Add("C");mybox.Items.Add("C++");// Adding this ComboBox to the formthis.Controls.Add(mybox);}}}chevron_rightfilter_noneOutput:

Important Properties of the ComboBox
| Property | Description |
|---|---|
| BackColor | This property is used to set the background color for the ComboBox control. |
| 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 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 occur when the ComboBox control is clicked. |
| DragDrop | This event occur when a drag-and-drop operation is completed. |
| DropDown | This event occur when the drop-down portion of a ComboBox is shown. |
| DropDownClosed | This event occur when the drop-down portion of the ComboBox is no longer visible. |
| DropDownStyleChanged | This event occur when the DropDownStyle property has changed. |
| Leave | This event occur when the input focus leaves the ComboBox control. |
| MouseClick | This event occur when the ComboBox control is clicked by the mouse. |
| MouseDoubleClick | This event occur when the ComboBox control is double clicked by the mouse. |
| MouseDown | This event occur when the mouse pointer is over the ComboBox control and a mouse button is pressed. |
| MouseEnter | This event occur when the mouse pointer enters the ComboBox control. |
| MouseHover | This event occur when the mouse pointer rests on the ComboBox control. |
| SelectedIndexChanged | This event occur when the SelectedIndex property has changed. |

