确定列表框索引的更改是由刷新还是鼠标单击引起的

本文关键字:刷新 鼠标 单击 列表 索引 | 更新日期: 2023-09-27 18:26:23

我有一个Win Forms列表框,其内容每隔几秒钟就会刷新一次。列表框显示存储在数据库中的消息,人们可以对其进行响应——这是一个定制的即时通讯应用程序。当刷新发生时,选定的索引会自动更改为0,如果我选择了第6条消息,并且正在尝试对其进行响应,这是一个问题。如何确定索引更改是刷新还是鼠标单击列表框的结果,然后如果不是鼠标单击,则停止选择更改?

确定列表框索引的更改是由刷新还是鼠标单击引起的

我相信我已经找到了解决问题的方法。我不知道如何处理事件,所以我研究了一下。我在MessageListBox.click事件中添加了一个事件处理程序。此事件处理程序设置一个名为selectedIndex的属性,并且是唯一设置此值的位置。在刷新方法中,我在Update/refresh调用后将MessageListBox.SelectedIndex设置为此值。