当 ListView 所选项目发生更改时调用什么事件?

Al *_*l C 1 delphi vcl delphi-10.1-berlin

我想每当 ListView 中的选定项目发生变化时运行一个过程。显而易见的选择是 OnSelectItem,但当用户从一个选定项目移动到另一个选定项目(使用鼠标或箭头键)时,它会被调用两次。同样,在项目之间移动时,OnChange 会被调用三次

在这些条件下是否存在仅生成一次的事件?OnClick 生成一次,但不包括使用箭头键等在项目之间移动。

Dav*_*nan 5

您可以使用这样做OnSelectItem

  • 记住最后选择的项目。
  • 触发时OnSelectItem,检查当前所选项目是否与您记住的项目不同。
  • 如果是这样,请执行您的任务,并记下新选择的项目。