I have a user control which has a ComboBox and a SelectedIndexChanged event handler. In the event handler, I need to be able to tell what was the previously selected index… can anyone point me in the right direction?
private void cboTargetMode_SelectedIndexChanged(object sender, EventArgs e)
{
// need to get the previously selected index and do some handling here...
// ... some handler code here ...
switch (cboTargetMode.SelectedIndex)
{
case 1: // ..... some code here...
break;
case 2: // ..... some code here...
break;
case 3: // ..... some code here...
break;
default: // ..... some code here...
break;
}
}
There is nothing built in, you will need to listen for this event and keep track in an instance variable.
Use -1 as an uninitialized “last index”, so on first pass you set it but don’t use it. Subsequent passes you use it and set it.
You could always do this using a derived ComboBox class of your own and override
OnSelectedIndexChangedand expose aPreviousSelectedIndexproperty. This way, it wouldn’t be tightly coupled to the form. Alternatively, as you can do this using events, its also eligible for implementation as an extender provider.