我在winforms应用程序中有一个ListBox,现在业务逻辑要求我在列表框中的项目被选中时触发一个函数,如果取消选择列表框中的项目,则触发另一个函数。
但是我看到它的方式,VS中列出的事件都没有给予执行权力。我确实看到像
这样的事件SelectedIndexChanged(object sender, EventArgs e)
和
SelectedValueChanged(object sender, EventArgs e)
但是如果ListBox的选择发生变化,这两个事件都会触发。但是它没有指定是否选择或取消选择了引发事件的项目。
对此的任何建议都会非常有用。
我甚至在MSDN上找到以下链接
但我不确定如何在这种情况下应用同样的方法。
答案 0 :(得分:0)
发布繁琐的解决方案。将来可能会帮助some1复制粘贴。
public static int ListCount;
private void listBoxPackService_SelectedIndexChanged(object sender, EventArgs e)
{
int CurrCount;
ListBox.SelectedObjectCollection col = listBoxPackService.SelectedItems;
CurrCount = col.Count;
if (CurrCount > ListCount)
{
//Item Selected
}
else
{
//Item DeSelected
if(CurrCount == 0)
{
//All Items Were Deselected
}
}
ListCount = CurrCount;
}
加载ListBox
ListCount = 0
根据您的要求重命名控件。
我仍然愿意接受更好的解决方案:)