WinForm 中 Control.SuspendLayout, Control.ResumeLayout, PerformLayout 之间的关系
来源:互联网 发布:网络文件服务器软件 编辑:程序博客网 时间:2024/05/09 14:05
一般情况:
在VS视图模式下设计窗体对象后,其 InitializeComponent 方法体一般如下:
private void InitializeComponent(){ // 创建各控件实例 this.SuspendLayout(); // 设置各控件具体属性 this.ResumeLayout(false); this.PerformLayout();}
官方解释:
Control.SuspendLayout
临时挂起控件的布局逻辑。
Control.ResumeLayout
恢复正常的布局逻辑。
Control.ResumeLayout(Boolean)
恢复正常的布局逻辑,可以选择强制对挂起的布局请求立即进行布局。
Control.PerformLayout
强制控件将布局逻辑应用于其所有子控件。
疑问:
既然 Control.ResumeLayout(true) 可以达到强制布局的效果,为何不用这一句替代 ResumeLayout(false) 和 PerformLayout() 的组合?
答:
根据网上各种解释和自己反编译 System.Windows.dll 后得出的较靠谱的答案:
貌似和属性 ‘Anchor’有关,ResumeLayout(false) 会更改部分子控件的‘Anchor’属性,而ResumeLayout(true) 则不能。(*现在还不知道有什么具体例子能够验证这一点)
0 0
- WinForm 中 Control.SuspendLayout, Control.ResumeLayout, PerformLayout 之间的关系
- 对WinForm-SuspendLayout、ResumeLayout、PerformLayout的理解
- ResumeLayout、SuspendLayout、PerformLayout
- suspendlayout,resumelayout,layout,performlayout【转】
- suspendlayout,resumelayout,layout,performlayout【转】
- Control.SuspendLayout 方法 ResumeLayout 方法 (Boolean)
- WinForm-SuspendLayout、ResumeLayout、PerformLayou
- WinForm-SuspendLayout、ResumeLayout、PerformLayou
- C# WinForm中的SuspendLayout、ResumeLayout、PerformLayou
- WinForm-SuspendLayout、ResumeLayout、PerformLayou——转载
- WinForm-SuspendLayout、ResumeLayout、PerformLayou——转载
- Control.SuspendLayout 方法
- 挖一下 SuspendLayout, ResumeLayout 的原理
- SuspendLayout 和 ResumeLayout 方法
- SuspendLayout 和 ResumeLayout
- C# SuspendLayout()和ResumeLayout()
- 使用SuspendLayout和ResumeLayout
- 使用SuspendLayout和ResumeLayout
- 利用按位取反(~)从复合枚举值里清除枚举值
- IO流05--毕向东JAVA基础教程视频学习笔记
- 不可重入函数与线程安全函数
- js验证身份证号
- 网络编程2--毕向东java基础教程视频学习笔记
- WinForm 中 Control.SuspendLayout, Control.ResumeLayout, PerformLayout 之间的关系
- java的30个学习目标[转]
- 目前最流行的八种装修风格
- 网络编程3--毕向东java基础教程视频学习笔记
- 关于数据库连接时候出现用户无法访问的问题MetInfo Access denied for user 'ncdh'@'localhost' (using password: YES) ( 10
- FxCop 和 StyleCop 的关系
- Android数据存储之Sqlite的介绍及使用
- 网络编程4--毕向东java基础教程视频学习笔记
- Python27 和 IronPython 处理文件读写的字符编码问题