首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存表单或加速表单生成

缓存表单或加速表单生成
EN

Stack Overflow用户
提问于 2009-12-10 22:21:55
回答 2查看 1.2K关注 0票数 1

我有一个像MS Word一样的可缩放的表单界面。该表单包含+70个控件(Richtextbox、checkbox等),这些控件位于整个表单中。

问题是生成表单需要2.5秒。仅用panel.Controls.Add( ctrl)添加70个控件只需要1秒。(每个呼叫16毫秒)。

有没有办法缓存整个空白表单?也许某个聪明的人知道另一种生成表单的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-10 22:26:34

这些控件是通过设计器添加的,还是在代码中手动添加的?如果是后者,我建议在加载控件之前在Form上调用SuspendLayout,然后在完成加载后调用ResumeLayout(true)

此外,如果这些控件是在窗体可见时添加的,那么暂停和恢复绘图可能会有很大帮助。有关如何做到这一点的更多信息,请参阅this question的公认答案。

编辑

为什么你需要70个RichTextBox控件?您是否考虑过重新设计表单,以便不需要这么多表单(例如,将一些表单重用于多种用途)?你有没有研究过你的自定义控件,看看是否可以在你自己的构造函数中获得任何速度?

票数 3
EN

Stack Overflow用户

发布于 2009-12-10 23:40:58

经过大量跟踪,我们发现自定义继承RichTextbox的构造函数每次调用需要7-8毫秒。70控制意味着70 *8= 560毫秒。

我们不能只复制或克隆已经构建的CustomRichTextBox吗?这会有区别吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1881294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档