加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 当要滚动的项目太多时,Windows窗体列表框会溢出

发布时间:2020-12-15 23:51:35 所属栏目:百科 来源:网络整理
导读:我正在构建一个基于后缀树的索引器应用程序,这使我能够非常快速地索引整个文档和搜索字符串,子字符串等. 我正在做的是在文本框中输入一个字符串,按下按钮,并运行查询后缀树的函数,并将字符串的所有出现位置添加到列表框中.所以列表框里面有很多整数. 通常,这
我正在构建一个基于后缀树的索引器应用程序,这使我能够非常快速地索引整个文档和搜索字符串,子字符串等.

我正在做的是在文本框中输入一个字符串,按下按钮,并运行查询后缀树的函数,并将字符串的所有出现位置添加到列表框中.所以列表框里面有很多整数.

通常,这很好.例如,搜索“向导”或“Gandalf”,或“hobbit”(我将FOTR索引为测试:D)工作正常且花花公子.但是,我现在用字母e来试试.

问题是字母e的位置确实列在列表框中.全部88974个.但是,当我通过拖动滚动按钮向下滚动时,当我在项目60000左右时,列表框似乎循环返回到顶部.由于我尝试滚动页面并且一切正常,因此问题更加严重.

我知道滚动88974(基于listbox.Items.Count)项目有点极端,但从逻辑上讲,没有理由存在这样的问题.

感谢您阅读这篇文章!

编辑:对所有回答的人,谢谢你的回答.我最终使用listview实现了它,并且速度更快,可以很好地保存很多项目.谢谢!

解决方法

可能ListBox仍然使用16位范围/位置消息滚动条.如果它是底层控件的问题,您可以尝试在Win32中重现它.

您可能想要尝试列表视图控件而不是列表框.我希望它不会遇到这个限制,它的虚拟模式也应该更高效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读