gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:29:33 24 4
gpt4 key购买 nike

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

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

通常情况下,这工作正常。例如,搜索“wizard”或“Gandalf”或“hobbit”(我将 FOTR 编入索引作为测试 :D)效果很好而且很漂亮。不过,我现在正在尝试使用字母 e。

问题是字母 e 的位置确实在列表框中列出。所有 88974 个。但是,当我通过拖动滚动条按钮向下滚动时,当我在大约 60000 项左右时,列表框似乎循环回到顶部。由于我尝试向下滚动页面并且一切正常,因此问题变得更加复杂。

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

感谢您阅读到这里!

编辑:对于所有回答的人,感谢您的回答。我终于用 ListView 实现了它,它更快,并且可以很好地容纳许多项目。谢谢!

最佳答案

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

关于c# - 当要滚动的项目太多时,Windows 窗体列表框会溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/579912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com