找回密码
 立即注册

QQ登录

只需一步,快速开始

iceman

社区贡献组

270

主题

1万

帖子

1万

积分

社区贡献组

积分
19311

活字格认证微信认证勋章元老葡萄

iceman
社区贡献组   /  发表于:2011-10-10 15:56  /   查看:7306  /  回复:0
大家都希望自己的程序更加的迅速和精确。对于一个开发人员来说,同时做到这两点不是一件容易的事。下面,我分享使用 SuspendLayout 和 ResumeLayout 方法的一个小技巧去提升 Spread 性能。

我们知道当添加或修改 Spread 某个单元格的数据时,需要重新计算所有行、列、单元格的布局,并且进行重绘。布局信息包括所有要显示在 Sheet 表单上的信息-像列宽、行高、单元格溢出、单元格注释等。在内部实现过程中,会执行一些列的程序去完成。SuspendLayout 方法将阻止(或挂起)Spread 对表单布局的重新计算,而 ResumeLayout 方法将恢复 Spread 对表单布局的重新计算。

如果你的代码中有许多针对 Spread 的设置,你可以在设置代码开始的位置调用 SuspendLayout 方法, 在设置代码结束的地方调用 ResumeLayout 方法。这将阻止 Spread 频繁的对布局进行重新计算。然后一旦设置代码全部执行完毕,ResumeLayout 方法被调用,从而一次性的重绘 SpreadView。显然,这会提高 Spread 的性能。

评分

参与人数 1满意度 +5 收起 理由
aulati + 5 不知道能提升多少性能呢^_^

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部