Checking value from Combobox(string) without ToString C#
I'm doing a project where "ToString" is being used as a method.
private void 开发者_StackOverflow中文版button1_Click(object sender, EventArgs e)
{
if(cboPlaneType.SelectedItem = "Generic")
{
}
else if (cboPlaneType.SelectedIndex = "Passenger")
{
}
else if (cboPlaneType.SelectedIndex = "Fighter Jet")
{
}
}
And in this case i'm not sure what to do. As you can see I've tried a few different option but with no avail. I've also tried
if((string)cboPlaneType.SelectedItem = "Generic")
And that didn't work.
**Edit
Just to point out, SelectedValue wasn't the correct answer.
ended up being "if((string)combobox.SelectedItem == "Generic")
The equality operator in c# is ==
; =
is an assignment operator.
SelectedIndex
will return an int
representing the zero-based position of the item that is selected. (I'm guessing it returns -1 when no item is selected.)
SelectedItem
can be an object of any type; if it is not a string then you can't match it by comparing with a string.
Are you saying that the objects with which the ComboBox
is populated override ToString()
? You should still be able to use the result of that method for comparison, because it can only return a string
. Otherwise, you might be able to use SelectedValue
, but this depends on what kind of ComboBox
you are using and how you have set it up.
SelectedIndex
is an property of type Int32
.
Maybe you want to use SelectedValue
instead ?
精彩评论