[高分求解] 如何在 Form 的 Resize 事件中统一刷新所有控件的位置?

macenjie 2012-08-26 04:47:10
我们的 C# 程序中有很多的控件,当用户 Resize 窗体的时候,会触发 Form_Resize 事件,这个事件中,会重新调整所有窗体中控件的位置。但是由于控件较多,客户电脑速度也不快,会出现延迟现象。具体表现在,每个控件依次调整其位置,而不是一起刷新位置。
请问有没有办法在 Form_Resize 代码中实现一起刷新所有控件位置的功能?
...全文
144 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Conmajia 2012-08-28
  • 打赏
  • 举报
回复
别用控件的Anchor、Dock,全部手工布局。。
Conmajia 2012-08-28
  • 打赏
  • 举报
回复
在Resize里手工布局:

---------------

先关掉窗体布局

this.SuspendLayout();

---------

然后调整控件位置、大小之类

bla bla...

--------

最后恢复布局(统一布局)

this.ResumeLayout();



这样能提高一些效率
bbjiabcd 2012-08-28
  • 打赏
  • 举报
回复
别用老爷机来测试你的程序了!
rayyu1989 2012-08-26
  • 打赏
  • 举报
回复
遍历也是依次的 怎么会跳过依次呢?

  • 打赏
  • 举报
回复
试试在主窗体中加入如下代码,任何位置
protected override CreateParams CreateParams
{

get
{

CreateParams cp = base.CreateParams;

cp.ExStyle |= 0x02000000;

return cp;

}

}

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧