当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《当要滚动的项目太多时,Windows窗体列表框会溢出》经验,为你挑选了1个好方法。

我正在构建一个基于后缀树的索引器应用程序,这使我能够非常快速地索引整个文档和搜索字符串,子字符串等.

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

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

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

我知道,通过88974(基于listbox.Items.Count)项目的滚动是有点极端,但在逻辑上,没有任何理由应该有这样的问题.

感谢您阅读这篇文章!

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



1> Hans Passant..:

这是Vista特有的bug.当您滚动超过65536 +可见项目数时,它会变得疯狂.这个bug在SP1中没有得到修复.在XP中没有问题.但是,是的,这是一个很少进入测试的错误.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有