Skip to main content Skip to footer

How to Programmatically Open the Dropdown List in ComboBox

When transitioning from the standard WinForms ComboBox control to the ComboBox control, developers may look for a boolean property like DroppedDown to programmatically expand or collapse the item list. Attempting to set comboBox.DroppedDown = true on a ComboBox will result in a compilation error, as it handles dropdown states differently.

Solution
Instead of setting a property state, the ComboBox provides dedicated methods to control the visibility of the dropdown form:

  • To Open the Dropdown: Call the OpenDropDown() method.

  • To Close the Dropdown: Call the CloseDropDown() method.

If you want the dropdown list to open automatically when a form finishes loading, make sure to invoke OpenDropDown() inside the form's Shown event handler (rather than Load), ensuring the control is fully rendered and visible before displaying the dropdown overlay.

private void Form1_Load(object sender, EventArgs e)
{
    // Populate items in the ComboBox
    comboBox1.Items.Add("Item 1");
    comboBox1.Items.Add("Item 2");
    comboBox1.Items.Add("Item 3");
    comboBox1.Items.Add("Item 4");

    // Hook the Shown event to handle initial display
    this.Shown += Form1_Shown;
}

private void Form1_Shown(object sender, EventArgs e)
{
    // Programmatically open the dropdown list when the form is visible
    comboBox1.OpenDropDown();
}

private void button1_Click(object sender, EventArgs e)
{
    // Open the dropdown list on demand via button click
    comboBox1.OpenDropDown();
}