cod*_*ife 15 c# .net-3.5 winforms
我有一个用户控件,它有一个ComboBox和一个SelectedIndexChanged事件处理程序.在事件处理程序中,我需要能够分辨出之前选择的索引是什么...有人能指出我正确的方向吗?
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;
}
}
Run Code Online (Sandbox Code Playgroud)
Ada*_*rth 23
内置任何内容,您将需要监听此事件并在实例变量中跟踪.
使用-1作为未初始化的"最后一个索引",因此在第一次传递时设置它但不使用它.随后的传球你使用它并设置它.
您总是可以使用自己的派生ComboBox类来执行此操作,并覆盖OnSelectedIndexChanged并公开PreviousSelectedIndex属性.这样,它就不会与表单紧密耦合.或者,正如您可以使用事件执行此操作,它也有资格作为扩展程序提供程序实现.