我在winforms应用程序中有一个ListBox,现在业务逻辑要求我在选中列表框中的项时触发一个函数,如果取消选中列表框中的项则触发另一个函数。
但在我看来,VS中列出的事件都没有赋予执行力。我确实看到了像这样的事件
SelectedIndexChanged(object sender, EventArgs e)和
SelectedValueChanged(object sender, EventArgs e)但是,如果ListBox的选择发生更改,这两个事件都会触发。但它没有指定引发事件的项是被选中还是被取消选中。
任何关于这方面的建议都会非常有帮助。
我甚至在MSDN上找到了以下链接
但我不确定如何在这种情况下应用相同的方法。
发布于 2015-09-02 17:07:23
发布乏味的解决方案。将来可能会对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根据需要重命名控件。
我仍然对更好的解决方案持开放态度:)
https://stackoverflow.com/questions/32348274
复制相似问题