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:
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 WindowsFormsApp18 {
public partial class Form1 : Form {
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(122, 80);
l.AutoSize = true ;
l.Text = "Select Programming Language";
// Adding this label to the form
this .Controls.Add(l);
// Creating and setting the properties of comboBox
ComboBox mybox = new ComboBox();
mybox.Location = new Point(327, 77);
mybox.Size = new Size(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 form
this .Controls.Add(mybox);
}
} } |
-
Output:
Important Properties of the ComboBox
.combobox-table { border-collapse: collapse; width: 100%; } .combobox-table td { border: 1px solid #5fb962; text-align: left !important; padding: 8px; } .combobox-table th { border: 1px solid #5fb962; padding: 8px; } .combobox-table tr>th{ background-color: #c6ebd9; vertical-align: middle; } .combobox-table tr:nth-child(odd) { background-color: #ffffff; }
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 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. |