【问题标题】:What event to call when ListView selected item changed?当 ListView 选定项更改时调用什么事件?
【发布时间】: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


【解决方案1】:

您可以使用OnSelectItem 来执行此操作。

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

【讨论】:

  • 效果很好。谢谢你,大卫。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2018-07-01
相关资源
最近更新 更多