【发布时间】:2017-12-12 17:47:47
【问题描述】:
每当 ListView 中的选定项目发生更改时,我想运行一个过程。显而易见的选择是 OnSelectItem,但当用户从一个选定项目移动到另一个(使用鼠标或箭头键)时,它会被调用两次。同样,在项目之间移动时,OnChange 被调用 3 次。
在这些条件下是否有一个事件只生成一次? OnClick 生成一次,但不包括使用箭头键等在项目之间移动。
【问题讨论】:
-
请使用VCL或FMX
-
这是一个 VCL 应用程序。
-
OnSelectItem 事件告诉您正在更改的项目以及它是被选中还是未选中。因此,获取两个事件触发器是有意义的,一个用于未选择的旧项目,一个用于被选中的新项目。 OnChange 事件也会为状态更改而触发,因此多次触发它也是有意义的
-
谢谢,@Remy ...您的解决方案与公认的解决方案一样有效,即
if Selected then //do something;
标签: delphi vcl delphi-10.1-berlin