【发布时间】:2013-09-28 02:10:59
【问题描述】:
我在 C# .NET 4.5 中使用多选 ListView 选择多个项目时会出现此问题(即 Shift + End 或 Shift + Click 等)。当然,这些只是用于多选的许多不同鼠标/键盘组合的几个示例。
这是我在选择列表中的项目时的事件处理程序:
private void lvTitles_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
MessageBox.Show(e.Item.Text.ToString());
//MessageBox just for testing I am actually running a SQL query here
}
我的问题是,如果我选择 500 个项目,则会触发 500 次事件。目的是获取用户选择的最后一个项目(通过上面提到的键盘/鼠标组合),并对其进行处理......在我的情况下,我需要对其运行 SQL 查询。
如果我首先单击列表视图中的第 0 项,则可以运行查询,然后当您 shift+end 时,它会突出显示所有其余部分,并且我希望它仅对选择的最后一个项目运行查询。相反,它在其间的每个项目上运行。
编辑:另一方面,事件在取消选择时也会触发,在这种情况下,取消选择时它真的不应该做任何事情。
【问题讨论】:
标签: c# events listview multi-select