首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MultiSelect ListBox精选和DeSelect事件

MultiSelect ListBox精选和DeSelect事件
EN

Stack Overflow用户
提问于 2015-09-02 16:33:04
回答 1查看 1.6K关注 0票数 2

我在winforms应用程序中有一个ListBox,现在业务逻辑要求我在选中列表框中的项时触发一个函数,如果取消选中列表框中的项则触发另一个函数。

但在我看来,VS中列出的事件都没有赋予执行力。我确实看到了像这样的事件

代码语言:javascript
复制
SelectedIndexChanged(object sender, EventArgs e)

代码语言:javascript
复制
SelectedValueChanged(object sender, EventArgs e)

但是,如果ListBox的选择发生更改,这两个事件都会触发。但它没有指定引发事件的项是被选中还是被取消选中。

任何关于这方面的建议都会非常有帮助。

我甚至在MSDN上找到了以下链接

https://msdn.microsoft.com/en-us/library/system.windows.controls.listboxitem.unselected%28v=vs.110%29.aspx

但我不确定如何在这种情况下应用相同的方法。

EN

回答 1

Stack Overflow用户

发布于 2015-09-02 17:07:23

发布乏味的解决方案。将来可能会对some1复制粘贴有所帮助。

代码语言:javascript
复制
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时

代码语言:javascript
复制
ListCount = 0

根据需要重命名控件。

我仍然对更好的解决方案持开放态度:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32348274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档