Check if a ComboBox value is selected
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.
Idanis
Updated on January 15, 2020Comments
-
Idanis over 4 years
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.
-
Kevin over 11 yearsIt's been a while for me, so I won't write an answer. But can't you check it in the property the UI object is bounded to?
-
rs. over 11 yearsDid you try using
ComboBox.SelectedIndexChanged
Event
-
-
Mitch over 11 yearsThis doesnt work
comboBox1.SelectedValue
returns null even when selecting something form the combobox. -
Mitch over 11 yearsThis now enables the button when nothing is selected, it's needs to enable the button only when something is selected. :P EDIT: Haha I see your ninja edit ;)
-
Mitch over 11 yearsI don't know why this had a +1, it actually disables the button when something is selected.
-
rs. over 11 years@MitchTWC if something is selected
string.IsNullOrEmpty
will befalse
, and i'm checking!string.IsNullOrEmpty
which will return true and button is enabled. Not sure why you think it will be disabled. Can you explain -
Mitch over 11 yearsI just tried your example, it disables my button when I select an item from my combobox. cbx.SelectedText returns an empty string. You need to use cbx.Text