博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
挂起布局逻辑与恢复布局逻辑
阅读量:4839 次
发布时间:2019-06-11

本文共 532 字,大约阅读时间需要 1 分钟。

this.SuspendLayout();

this.ResumeLayout();

 

有时候,需要重新布置整个窗口里的控件的位置布局,如刚刚初始化时就是一个例子。这样在每增加一个有dock等属性的控件时,由于这些布局都是相对性布局,都需要重新计算位置什么的,并实际执行布局。如果一个窗口上有50个控件,这个布局处理就要执行50次,并触发50 * n次的布局有关的事件。

而实际上,在定义布局方案过程中,这些布局是没有必要每个控件定义之后就立即执行布局的,也没有必要处理因此发出的布局事件。
更合理的办法,是在全部定义完所有控件的布局方案之后,才一次性计算布局结果,并一次执行。
于是,就设计了这两个函数。第一个函数用于暂停实际的布局,而第二个函数用于恢复实际布局。
在程序里,如果你需要大规模调整布局方案时,就可以先调用suspendlayout,暂停布局执行,然后定义谁在前,谁在后,谁在上,谁在下,谁填充左,谁填充右。
布置完毕。resumelayout,于是,一次性处理完毕。
如果注释这两个方法的调用,效果上也不会有什么变化,只是在性能上会造成不必要的开销。

转载于:https://www.cnblogs.com/T-J-D/p/4064794.html

你可能感兴趣的文章
前端学数据库之基础操作
查看>>
python模块pymysql
查看>>
DAY-9 Linux基础及常用命令(5)
查看>>
unittest-mock-from-import
查看>>
node入门学习(二)
查看>>
通过js禁止输入空格(试用场景:当用字符串拼接插入dom节点时,onkeyup这些方法都不好使可用这个)...
查看>>
Codeforces Edu Round 48 A-D
查看>>
C++cctype软件包函数摆脱,ASCII码!
查看>>
saltstack笔记
查看>>
(转载)TP5_自定义分页样式
查看>>
Spring3.2 和 jdk8 运行时有冲突
查看>>
WordPress4.1新的函数介绍
查看>>
list<T> 排序
查看>>
结对2.03
查看>>
【vue】vue如何创建一个项目
查看>>
简单的linux压力测试工具webbench
查看>>
ImageLunBo_shape+XML
查看>>
php实现设计模式————单例模式
查看>>
Python OOP(面向对象编程)
查看>>
MySQL安装与测试
查看>>