winform 控件过多,结果滚动条拖动速度变慢,请问怎么解决?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform 控件过多,结果滚动条拖动速度变慢,请问怎么解决?相关的知识,希望对你有一定的参考价值。
小弟用的是C#,最近做的一个Winform项目其中有下面这个功能:
主窗体弹出时要绑定一个商品列表,每个条商品信息要显示的有:主图、标题、访问量、购买人数,转化率5项,其中访问量、购买人数、转化率还要和前一天做对比,看是上升了还是下降了。
现在这两分功能实现了,但是速度却不理想。商品列表的加载速度优化过后还可以,主要是滚动条拖动的时候显得很卡,鼠标滚轴滚动之后差不多1秒后商品列表才往下移动,不像平时在拖动网页滚动条那样速度快,请问该如何解决?
每个商品项要显示的信息如下,我是用一个用户控件做的商品项,其中包含了PictureBox 和若干Label
发现是这段代码的原因
protected override CreateParams CreateParams
get
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
return cp;
这个代码是为了让界面加载的时候不闪烁,去掉之后拖动滚动条就不卡了,但是界面就闪烁了,现在真是顾此失彼,请问大神有没有办法解决?
要么不要用控件,改为双缓冲绘制,把图和文字分别用 DrawImage 和 DrawString 等方法画出来。但即使这样,一旦数据量多了一样很卡。
要么采用分页模式,每页里面只显示15-20条记录。追问
双缓存已经采用了,可是没效果。我现在添加3个宝贝拖动的时候就感觉很卡了。
我昨晚又研究了下,发现是下面这段代码的原因:
我就是用的用户控件,双缓存也用了,但是没效果。
C#winform如何实现两个控件在拖动时互换位置
参考技术A 如何用ASCII 码判断输入字符为字母数字或者符号#include <stdio.h>
int main()
char c;
c = getchar();//读取一个字符。
if(c >='0' && c<='9')printf("是数字\n");
else if(c >='a' && c<='z' || c >='A' && c<='Z'))printf("是字母\n");
else printf("是特殊字符\n");
以上是关于winform 控件过多,结果滚动条拖动速度变慢,请问怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章
C#如何通过鼠标拖动控件的滚动条。。我现在有很多图片放在richtextbox里面,因为程序是放在
请问:C# listView控件如何判断滚动条的位置?判断滚动条在控件的最下面?
zedgraph控件画图时数据量大时会很密集,如何设置出滚动条让其可以左右拖动,这样就不会很密集