c# - 导致自动滚动的列表框 RemoveAt 方法

标签 c# listbox autoscroll

简而言之:如何在调用 RemoveAt(0) 时禁用自动滚动回列表框顶部?

背景:
我有一个简单的列表框,我定期将其中的数据混合在一起。

基本上我使用的是状态报告工具。

我的程序的每次迭代都会导致 100 行左右的数据被扔到列表框中,而将大量信息转储到其中的最佳方法是始终将其添加到底部。

我希望最新的结果位于底部,而最旧的结果“向上推”。因为此列表框的大小在短时间后变得相当大,所以我将大小限制为 1000 项。

当盒子里的元素超过 1000 件时,我使用 RemoveAt(0) 直到我再次获得 1000 件元素。

为了始终显示最相关的信息,我将列表框一直向下滚动。这个问题是每当我调用 RemoveAt(0) 时,该框都会自动滚动回新项目 0。基本上,每次我将项目添加到“完整”列表框时,效果都是快速向上滚动1000 个项目,然后退回 1000 个项目,使显示看起来很笨拙。

如何在调用 RemoveAt(0) 时禁用自动滚动回列表框顶部?

最佳答案

这只会在没有选择的项目时发生。或者换句话说,ListBox.SelectedIndex = -1。简单的解决方法是选择一个项目。和上一个一样。

关于c# - 导致自动滚动的列表框 RemoveAt 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082329/

相关文章:

c# - 如何在父 Windows 上居中 Gtk 对话框

silverlight - 如何在 Silverlight 3 中将 Canvas 用作 ItemsControl 的 ItemsPanel

c# - 将列表框绑定(bind)到 WPF 中字符串类型的 Observable 集合

python - 当模型增长时,让 QTableView 滚动到最后一行

angular 2 - 如何使用模板引用变量获取子组件的 HTMLElement/ElementRef?

c# - 基于供应商 .NET 4.X 的应用程序无法生成 WSDL 客户端,因为 SSLv3 已禁用

c# - mvc 3 Html.EditorFor 添加 html 属性不起作用

c# - 配置弹性设置 Entity Framework 6.02

c# - WPF Listbox.selecteditems 按选择的顺序返回项目

java - 拖动对象时自动滚动 JScrollpane