SuspendLayout 和 ResumeLayout
来源:互联网 发布:java 运行lua 编辑:程序博客网 时间:2024/05/22 07:51
在Designer中会看到这两个方法,究竟是做什么用的呢?
一般在加载所有控件之前SuspendLayout方法,挂起所有控件在界面的逻辑布局事件,等又有布局代码完后再调用 ResumeLayout事件吧刚才挂起的逻辑布局一并执行。
例如我们在设置初始化控件时候,都会用到Size、Location、Anchor 或 Dock属性,而每一个属性都会去改变控件在界面上的布局,使得控件,每执行一段代码就就要界面重绘一次,那么我们先挂起所有事件,之后一起执行,这样就可以提高带有许多控件的应用程序的性能。
上文地址:http://hi.baidu.com/zouqiner/blog/item/a6118b4aa92391f982025ce9
下文地址:http://www.cnblogs.com/badnewfish/archive/2007/01/19/624298.html
临时挂起控件的布局逻辑。
命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
语法:
C#
public void SuspendLayout ()
备注:
控件的布局逻辑被挂起,直到调用 ResumeLayout 方法为止。
当调整控件的多个属性时,将先后使用 SuspendLayout 和 ResumeLayout 方法取消多个 Layout 事件。例如,通常先调用 SuspendLayout 方法,然后设置控件的 Size、Location、Anchor 或 Dock 属性,最后调用ResumeLayout 方法以使更改生效。
SuspendLayout 调用必须等于零,然后才能成功调用 ResumeLayout。
注意
将多个控件添加到父控件时,建议在初始化要添加的控件之前调用 SuspendLayout 方法。将控件添加到父控件之后,调用 ResumeLayout 方法。这样就可以提高带有许多控件的应用程序的性能。
示例
下面的代码示例向窗体添加两个按钮(3个哦,其中一个是w)。该示例通过使用 SuspendLayout 和 ResumeLayout方法进行添加按钮。
private void AddButtons()
{
// Suspend the form layout and add two buttons.
this.SuspendLayout();
Button buttonOK = new Button();
buttonOK.Location = new Point(10, 10);
buttonOK.Size = new Size(75, 25);
buttonOK.Text = "OK";
Button button1 = new Button();
// Set the button to return a value of OK when clicked.
button1.DialogResult = DialogResult.OK;
// Add the button to the form.
Controls.Add(button1);
Button buttonCancel = new Button();
buttonCancel.Location = new Point(90, 10);
buttonCancel.Size = new Size(75, 25);
buttonCancel.Text = "Cancel";
this.Controls.AddRange(new Control[]{buttonOK, buttonCancel});
this.ResumeLayout();
}
- SuspendLayout 和 ResumeLayout 方法
- SuspendLayout 和 ResumeLayout
- C# SuspendLayout()和ResumeLayout()
- 使用SuspendLayout和ResumeLayout
- 使用SuspendLayout和ResumeLayout
- WinForm-SuspendLayout、ResumeLayout、PerformLayou
- WinForm-SuspendLayout、ResumeLayout、PerformLayou
- ResumeLayout、SuspendLayout、PerformLayout
- 利用SuspendLayout 和 ResumeLayout 方法加速添加控件
- C#中窗体程序中的this.SuspendLayout()和this.ResumeLayout()
- suspendlayout,resumelayout,layout,performlayout【转】
- suspendlayout,resumelayout,layout,performlayout【转】
- Control.SuspendLayout 方法 ResumeLayout 方法 (Boolean)
- 挖一下 SuspendLayout, ResumeLayout 的原理
- C# WinForm中的SuspendLayout、ResumeLayout、PerformLayou
- WinForm-SuspendLayout、ResumeLayout、PerformLayou——转载
- 对WinForm-SuspendLayout、ResumeLayout、PerformLayout的理解
- WinForm-SuspendLayout、ResumeLayout、PerformLayou——转载
- 深拷贝,浅拷贝
- 一种大文件的排序方法
- perl glob 过滤文件列表
- C/C++中的日期和时间 time_t与struct tm变换
- POJ 2155 二维线段树(压位水过)
- SuspendLayout 和 ResumeLayout
- 详解C程序开发中 .c和.h文件的区别
- 栈和堆的区别
- MySql数据库 汉字 ? 乱码解决 详细步骤 问题已解决
- VC动态轨迹画线
- 【1.2】系统漫游——“程序”被其他程序翻译成不同格式
- flex编译命令相关
- Spring 2.5笔记:applicationContext.xml提示信息的配置
- Navicat建表问题(一)