在 C# 表单中,当列表视图框完成多个选择的更新时,如何捕获或隔离?

问题描述 投票:0回答:1

我正在开发的应用程序允许用户使用鼠标单击或键盘在列表视图框中选择多个项目,标准的窗口选择内容,我遇到的麻烦是找出一种方法来知道列表视图框何时完成更新选择这样我就可以对“最终选择”运行例行程序。 listView1_SelectedIndexChanged 和 listView1_ItemSelectionChanged 事件都会多次触发,并且选择了多个项目,我认为这是预期的行为。我尝试过 listView1_MouseClick 它实际上作为最终选择入口点,但我不确定如何以与不涉及 ItemSelectionChanged 或索引更改事件的鼠标单击事件相同的方式处理键盘选择。 应该有一个简单的方法来做到这一点,我只是没有找到该控件的可用事件。下面的屏幕截图显示了使用典型选择“2”触发的事件,该事件已被选择启动。正如您所看到的,每次新选择都会触发一次 SelectedIndexChanged 事件,我需要确定控件何时完成更新选择。选择可以是 1 到 100(如果不是数千)。

c# winforms listview events multipleselection
1个回答
0
投票
如何避免数千个不必要的ListView.SelectedIndexChanged事件?

该页面上有几个可行的解决方案,我选择了 Amir 的异步解决方案。

恕我直言,它们基本上都是为了绕过选择上的多次触发,当控件完成更新选择时应该有一个事件来覆盖,就像鼠标单击事件的工作原理一样。

应该感谢这里的相关问题人工智能最终提出了一个与我的情况相关的问题:)

© www.soinside.com 2019 - 2024. All rights reserved.