简而言之:当我调用 RemoveAt(0) 时,如何禁用自动滚动回 ListBox 顶部?
背景:
我有一个简单的列表框,我会定期将其中的数据混合在一起。
基本上我使用它是一个状态报告工具。
我的程序的每次迭代都会导致大约 100 行数据被放入列表框中,而将大量信息转储到其中的最佳方法是始终将其添加到底部。
我希望最新的结果位于底部,而最旧的结果被“推高”。因为这个列表框的大小在短时间内变得相当大,所以我将大小限制为 1000 个项目。
当盒子获得超过 1000 个项目时,我使用 RemoveAt(0) 直到我再次获得 1000 个项目。
为了始终显示最相关的信息,我将列表框一直向下滚动。这样做的问题是,每当我调用 RemoveAt(0) 时,该框都会自动向上滚动到新项目 0。基本上,每次我将项目添加到“完整”列表框时,效果都是快速向上滚动1000 个项目,然后退回 1000 个项目,使显示看起来很笨拙。
当我调用 RemoveAt(0) 时,如何禁用自动滚动回 ListBox 顶部?