我正在构建一个基于后缀树的索引器应用程序,它使我能够非常快地索引整个文档并搜索字符串、子字符串等。
我正在做的是在文本框中输入一个字符串,按下按钮,然后运行一个函数来查询后缀树并将所有出现的字符串的位置添加到列表框中。所以列表框里面有很多整数。
通常情况下,这工作得很好。例如,搜索“wizard”或“Gandalf”或“hobbit”(我正在索引 FOTR 作为测试:D)效果很好。不过,我现在正在尝试使用字母 e。
问题是字母 e 的位置确实列在列表框中。总共 88974 个。但是,当我通过拖动滚动条按钮向下滚动时,当我位于项目 60000 左右时,列表框似乎会循环返回到顶部。由于我尝试向下滚动页面并且一切正常,因此问题变得更加奇怪。
我知道滚动 88974 个(基于 listbox.Items.Count)项目有点极端,但从逻辑上讲,没有理由出现这样的问题。
感谢您阅读本文!
编辑:对于所有回答的人,感谢您的回答。我终于用列表视图实现了这个,它速度更快,并且可以很好地容纳许多项目。谢谢!
这是 Vista 特有的错误。当你滚动超过 65536 + 可见项目数时,它就会变得疯狂。该错误在 SP1 中并未得到修复。 XP下没问题。但是,是的,这是一个很少经过测试的错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)