This one had me stumped for a while! If you have multiple list controls (combo’s etc) on the same form set to the same datasource, the default behaviour is for the controls to share the form’s BindingContext ,thus synchronising the current position. This means when you change list position in say ‘Combo A’, the selected index is also changed in ‘Combo B’.
To avoid this behaviour requires just one line of code applied to at least one of your controls.
comboBox1.BindingContext = new BindingContext();