多选列表框选择和取消选择事件
本文关键字:选择 事件 取消 列表 | 更新日期: 2023-09-27 18:10:59
我在winforms应用程序中有一个列表框,现在业务逻辑要求我在列表框中的项被选中时触发一个函数,如果列表框中的项被取消选中则触发另一个函数。
但是在我看来,在VS中列出的事件都没有给予执行的权力。我确实看到了像
这样的事件SelectedIndexChanged(object sender, EventArgs e)
和
SelectedValueChanged(object sender, EventArgs e)
但是如果ListBox的选择发生了变化,这两个事件都会触发。但它没有指定是选中还是取消选中了引发事件的项目。
任何关于这方面的建议都会很有帮助。
我甚至在MSDN上找到了以下链接
https://msdn.microsoft.com/en-us/library/system.windows.controls.listboxitem.unselected%28v=vs.110%29.aspx但我不知道如何在这种情况下应用相同的
张贴乏味的解决方案。可能对将来复制粘贴有帮助。
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
根据您的要求重命名控件。
我仍然开放一个更好的解决方案:)