Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check if a ComboBox value is selected

I'm writing a form which includes some buttons and a combo box. The "Ok" button is disabled by default, and I wish to enable it only after an actual value (not the combo box's name) is selected.

I know how to access the selected value, and how to check if a value has been selected - but these two can be done only after the form is close (using the"x" or using the "ok" button - which is disabled).

Any ideas?

Thanks.

like image 923
Idanis Avatar asked Jan 14 '13 16:01

Idanis


1 Answers

Perhaps like this:

    private void comboBox_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (comboBox.SelectedIndex > -1)
        {
            buttonOK.Enabled = true;
        }
    }

By default a combobox's selected index is -1 (the combobox's name, which you can't reselect after choosing another index), so if you check that it's not -1 then you know a value has been selected.

However another alternative, and the one I use, is if I always want a value to be selected is to use the DropDownStyle property and set it to DropDownList. That way index 0 is selected by default and the user can only select items from the list and nothing else.

like image 70
Mitch Avatar answered Nov 15 '22 00:11

Mitch