大家都希望自己的程序更加的迅速和精确。对于一个开发人员来说,同时做到这两点不是一件容易的事。下面,我分享使用 SuspendLayout 和 ResumeLayout 方法的一个小技巧去提升 Spread 性能。

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

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