我来自网络背景,现在正在开发一个Windows应用程序。
应用程序已下拉,显示所选项目(来自数据库)。我要求在选择除现有值之外的任何其他值时执行xyz业务逻辑。
我可以使用索引更改事件处理程序,但如果他们选择其他项并选择返回相同,我不想执行xyz业务逻辑。
因此,有人可以帮助您如何将所选值与加载时选择的值进行比较吗?
我可以有会话来存储以前的状态,但不确定我们如何在Windows窗体中执行相同操作。
答案 0 :(得分:0)
在这种情况下,您的会话存储概念是本地存储变量。示例类:
public class MyForm : Form
{
private Int32 _selIdx = -1; //this is local to the Form and accessible anywhere within the MyForm class
public MyForm() { }
private void MyForm_Load(Object sender, EventArgs e)
{
//load database data, add to combo box, then capture the index
_selIdx = myComboBox.SelectedIndex;
}
//I prefer this method because it reacts to user interaction, and not programmatic change of index value
private void myComboBox_SelectionChangeCommitted(Object sender, EventArgs e)
{
//index changed, react
if (!_selIdx.Equals(myComboBox.SelectedIndex))
{
//not a match, do something...
}
}
}