不解,动态添加button时耗时过长

For i As Integer = 0 To 500
Dim ps As New Button
ps.Dock = DockStyle.Top
ps.Text = i
ps.Size = New System.Drawing.Size(100, 25)
Me.Panel8.Controls.Add(ps)

Next

上面是我用来测试的代码,结果发现添加500个Button时竟用了21秒(电脑配置:三星P30笔记本/cpu:P M 1.4g/ram:768M)
不知是代码问题还是机器问题,不知你测试的结果如何??
---------------------------------------------------------------
Me.Panel8.SuspendLayout()
For i As Integer = 0 To 500
Dim ps As New Button
ps.Size = New System.Drawing.Size(100, 25)
ps.Dock = DockStyle.Top
ps.Text = i
Me.Panel8.Controls.Add(ps)

Next
Me.Panel8.ResumeLayout()

因为设置ps的属性时会执行重绘和触发一些与此属性相关的事件,这就需要一定的时间。
MSDN里有更详细的解释!

Published At
Categories with Web编程
Tagged with
comments powered by Disqus