SuspendLayout 和 ResumeLayout
在Designer中会看到这两个方法,究竟是做什么用的呢?
一般在加载所有控件之前SuspendLayout方法,挂起所有控件在界面的逻辑布局事件,等又有布局代码完后再调用 ResumeLayout事件吧刚才挂起的逻辑布局一并执行。
例如我们在设置初始化控件时候,都会用到Size、Location、Anchor 或 Dock属性,而每一个属性都会去改变控件在界面上的布局,使得控件,每执行一段代码就就要界面重绘一次,那么我们先挂起所有事件,之后一起执行,这样就可以提高带有许多控件的应用程序的性能。
上文地址:http://hi.baidu.com/zouqiner/blog/item/a6118b4aa92391f982025ce9.html
下文地址: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相关推荐
- [c#.net]SuspendLayout 和 ResumeLayout
2019独角兽企业重金招聘Python工程师标准>>> 在Designer中会看到这两个方法,究竟是做什么用的呢? 一般在加载所有控件之前SuspendLayout方法,挂起所有控件 ...
- 使用SuspendLayout和ResumeLayout
许多 Windows 窗体控件(例如,ListView 和 TreeView 控件)都实现了 SuspendLayout 和 ResumeLayout 方法,它们能够防止控件在添加子控件时创建多个布局 ...
- suspendlayout,resumelayout,layout,performlayout【转】
suspendlayout,resumelayout,layout,performlayout 1, 1.什么时候会触发control.layout事件? 当控件本身的大小(size)改变时会发生本控 ...
- SuspendLayout 和 ResumeLayout挂起布局
一般在加载所有控件之前SuspendLayout方法,挂起所有控件在界面的逻辑布局事件,等又有布局代码完后再调用 ResumeLayout事件吧刚才挂起的逻辑布局一并执行. 例如我们在设置初始化控件时 ...
- WinForm 中 Control.SuspendLayout, Control.ResumeLayout, PerformLayout 之间的关系
一般情况: 在VS视图模式下设计窗体对象后,其 InitializeComponent 方法体一般如下: private void InitializeComponent(){ // 创建各控件实例 ...
- C# WinForm中的SuspendLayout、ResumeLayout、PerformLayou
问题 通常我们在设置子控件的一些与外观.布局有关的属性时,比如Size.Location.Anchor或Dock等,会激发子控件的 Layout事件,并可能会引起窗口重绘.当子控件较多时,如果频繁设置 ...
- SuspendLayout 和 ResumeLayout 方法
通常我们在设置子控件的一些与外观.布局有关的属性时,比如Size.Location.Anchor 或 Dock等,会激发子控件的Layout事件,并可能会引起窗口重绘,当子控件较多时,如果频繁 ...
- 关于动态创建控件性能提高 以及 SuspendLayout ResumeLayout 的使用
今天看UI设计 看到这个问题 参考地址:http://www.csharpwin.com/csharpspace/12492r4352.shtml 之后查的 msdn 的方法介绍 :http:// ...
- Control.SuspendLayout 方法
SuspendLayout 方法是临时挂起控件的布局逻辑. 命名空间: System.Windows.Forms 程序集: System.Windows.Forms(在 system.windows. ...
最新文章
- 复制链接到safari浏览器打开_JS实现复制到剪贴板(兼容FF/Chrome/Safari所有浏览器)...
- U盘安装CentOS 7
- RunTime 入门
- MATLAB 转PDF图片过大导致两边缺失
- XP共享访问无权限解决方法
- 面向对象编程(OOP)特性 类和对象
- spring aop实现日志收集
- 计算机加经济学加自动化,MIT经济学家戳破机器人真相:除了能取代你,价值微乎其微...
- [vscode] c++ debugging
- centos,apache运维经验
- Mac安装svn客户端
- 嵌入式、单片机开发必备软件
- linux go语言运行环境,linux下怎么安装go语言环境
- 人民币金额大写转小写
- 常见的五种神经网络(4)-深度信念网络(下)篇之深度信念网络的原理解读、参数学习
- [最优化]凸集的定义与常见凸集
- 信息安全专业毕业设计选题推荐
- 最简单web工程接收消息图片--微信企业号
- Spring和Spring Boot区别
- 头皮发麻之win10宽带拨号错误797