Open In App

ComboBox in C#

Last Updated : 28 Sep, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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: 

CSharp




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.


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads