C#-无限垂直滚动

我有一个WinForms应用程序和一个面板控件.面板控件具有用于垂直滚动的VScrollBar控件.一切正常,除了现在我将VScrollBar最大值设置为100.问题是,我需要Maximum属性约为40亿,但是,因为Maximum只是一个Integer,所以我无法将其设置为适当的值.所以,我的问题是,如何解决这个问题?我知道有些文本编辑器和文件查看器声称可以查看4多个数据,那么像这样的应用程序中的滚动条将如何工作?

解决方法:

滚动条是GUI控件.本质上,它可以显示的步数仅限于屏幕上的垂直像素数.因此,您可以考虑将最大值设置为该最大值以外的任何值,仅仅是为了方便开发人员,从而使数学运算更容易.

应用程序如何处理滚动条?从理论上讲,您希望首先解析文件,以找出文件中有多少行,并将其用作逻辑上的最大值.实际上,在打开文件时读取4 GB的数据会降低性能,因此行不通.

如果执行此操作,则将滚动条的最大值设置为较大的值,例如10,000.使用滚动条时,滚动条值除以10,000得到一个百分比,编辑器显示文件的该部分.

不要以向下滚动太多行来思考事情.取而代之的是,将其视为跳到文件的百分比偏移量,在其中读取数据并显示出来.

上一篇:第十二周课程总结


下一篇:修改浏览器的滚动条样式