It seems that you can’t change the Text property of a combobox inside SelectedIndexChanged event. The .Text will still contain the old value after the change due to cross-threading issues:
Workaround: Use delegation to do this, this will change the text right after the SelectedIndexChanged event:
this.comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);
void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
private delegate void ChangeTextDelegete();
public void ChangeText()
this.comboBox1.Text = “Changed”;
Problem: With this approach, sometimes “Exception has been thrown by the target of an invocation” fires randomly.