许多 Windows 窗体控件(例如,ListView 和 TreeView 控件)都实现了 SuspendLayout 和 ResumeLayout 方法,它们能够防止控件在添加子控件时创建多个布局事件。如果您的控件以编程方式添加和删除子控件或者执行动态布局,则您应该调用 SuspendLayout 和 ResumeLayout 方法。通过 SuspendLayout 方法,可以在控件上执行多个操作,而不必为每个更改执行布局。例如,如果您调整控件的大小并移动控件,则每个操作都将引发单独的布局事件。这些方法按照与 BeginUpdate 和 EndUpdate 方法类似的方式操作,并且在性能和用户界面稳定性方面提供相同的好处。下面的示例以编程方式向父窗体中添加按钮:
  [C#]
  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 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();
  }
  [Visual Basic .NET]
  Private Sub AddButtons()
  ' Suspend the form layout and add two buttons
  Me.SuspendLayout()
  Dim buttonOK As New Button
  buttonOK.Location = New Point(10, 10)
  buttonOK.Size = New Size(75, 25)
  buttonOK.Text = "OK"
  Dim buttonCancel As New Button
  buttonCancel.Location = New Point(90, 10)
  buttonCancel.Size = New Size(75, 25)
  buttonCancel.Text = "Cancel"
  Me.Controls.AddRange(New Control() { buttonOK, buttonCancel } )
  Me.ResumeLayout()
  End Sub

  每当您添加或删除控件、执行子控件的自动布局或者设置任何影响控件布局的属性(例如,大小、位置、定位点或停靠属性)时,您都应该使用 SuspendLayout 和 ResumeLayout 方法。

转自:http://jsj.xdf.cn/201111/954249.html

使用SuspendLayout和ResumeLayout相关推荐

  1. [c#.net]SuspendLayout 和 ResumeLayout

    2019独角兽企业重金招聘Python工程师标准>>> 在Designer中会看到这两个方法,究竟是做什么用的呢? 一般在加载所有控件之前SuspendLayout方法,挂起所有控件 ...

  2. SuspendLayout 和 ResumeLayout

    在Designer中会看到这两个方法,究竟是做什么用的呢? 一般在加载所有控件之前SuspendLayout方法,挂起所有控件在界面的逻辑布局事件,等又有布局代码完后再调用 ResumeLayout事 ...

  3. suspendlayout,resumelayout,layout,performlayout【转】

    suspendlayout,resumelayout,layout,performlayout 1, 1.什么时候会触发control.layout事件? 当控件本身的大小(size)改变时会发生本控 ...

  4. SuspendLayout 和 ResumeLayout挂起布局

    一般在加载所有控件之前SuspendLayout方法,挂起所有控件在界面的逻辑布局事件,等又有布局代码完后再调用 ResumeLayout事件吧刚才挂起的逻辑布局一并执行. 例如我们在设置初始化控件时 ...

  5. WinForm 中 Control.SuspendLayout, Control.ResumeLayout, PerformLayout 之间的关系

    一般情况: 在VS视图模式下设计窗体对象后,其 InitializeComponent 方法体一般如下: private void InitializeComponent(){ // 创建各控件实例 ...

  6. C# WinForm中的SuspendLayout、ResumeLayout、PerformLayou

    问题 通常我们在设置子控件的一些与外观.布局有关的属性时,比如Size.Location.Anchor或Dock等,会激发子控件的 Layout事件,并可能会引起窗口重绘.当子控件较多时,如果频繁设置 ...

  7. SuspendLayout 和 ResumeLayout 方法

    通常我们在设置子控件的一些与外观.布局有关的属性时,比如Size.Location.Anchor   或   Dock等,会激发子控件的Layout事件,并可能会引起窗口重绘,当子控件较多时,如果频繁 ...

  8. 关于动态创建控件性能提高 以及 SuspendLayout ResumeLayout 的使用

    今天看UI设计  看到这个问题 参考地址:http://www.csharpwin.com/csharpspace/12492r4352.shtml 之后查的  msdn 的方法介绍 :http:// ...

  9. Control.SuspendLayout 方法

    SuspendLayout 方法是临时挂起控件的布局逻辑. 命名空间: System.Windows.Forms 程序集: System.Windows.Forms(在 system.windows. ...

最新文章

  1. 基于Sentinel的Redis3.2高可用方案
  2. java 原子引用_Java 原子性引用 AtomicReference
  3. 参会全攻略 | 倒计时 7 天!30+ 位重量级嘉宾“聊”什么?
  4. “熊猫烧香”式的病毒营销
  5. win11 wsl及ubuntu设置为wsl 2
  6. Redis整合Spring结合使用缓存实例
  7. LiveVideoStackCon 专题评审团招募进行中
  8. Unity 2017 Game Optimization 读书笔记 Dynamic Graphics(2)
  9. 通过mysql show processlist 命令检查mysql锁的方法
  10. 漫谈惯性、视觉暂留、潜意识、混合动力发动机、先入为主 - 纯粹的无厘头?...
  11. 使用Python模拟蒙蒂霍尔悖论游戏
  12. mysql mmm vip_MySQL MMM架构看不到vip地址
  13. Java添加事件监听的四种方法代码实例
  14. office 2010安装包
  15. 帝国cms php超时,帝国CMS后台登录超时、登录错误5次限制的解决办法
  16. mysql配置报错thread_MySQL错误Forcing close of thread的两种解决方法
  17. python精彩语句(来日方长,慢慢录入)
  18. LSH 近似最近邻查找
  19. 计算机系统基础-入门
  20. python莫比乌斯内接矩形_用莫比乌斯带巧解内接矩形问题:拓扑学的用处

热门文章

  1. 武汉东方y神话服饰有限公司
  2. SSD和Ramdisk的配合简直就是天衣无缝,固态硬盘长生不老,全靠它。
  3. IOException parsing XML document from class path resource [applicationContext.xml]
  4. 学生如何使用chatGTP提升学习能力?
  5. 化妆步骤!! - 生活至上,美容至尚!
  6. Windows驱动匹配详解
  7. 探访“中国水仙花之乡”:祖辈留下来的,要传承发展好
  8. html的marquee标签,marquee 标签参数详细说明
  9. Pyramid of Glasses 酒杯金字塔 [CF-676B]
  10. 内网服务器自建 yum、epel 源仓库