当前位置:编程学习 > C#/ASP.NET >>

this.panel1.Controls.Add

加载自己定义控件
con_a a=new con_a();//不慢
this.panel1.Controls.Add(a)//很慢

this.panel1.Controls.Add时很慢,能怎么优化一下吗? --------------------编程问答-------------------- 这有什么好优化的,我倒是很奇怪,你的panel1.Controls很多吗? --------------------编程问答-------------------- con_a自定义控件很大,编译完生成的dll将近2M
panel1中控件不多。
--------------------编程问答-------------------- 这代码又没有可比性。你的快慢是怎么得来的。 --------------------编程问答-------------------- MessageBox.Show("1","1")
con_a a=new con_a();//不慢
MessageBox.Show("2","2")
this.panel1.Controls.Add(a)//很慢
MessageBox.Show("3","3")

同一网络,3台电脑a,b,c,慢的都是add时慢。a一点不慢,相比其它电脑配置高了点。b第一次时很慢,第二次就不慢了,c每次都慢。 --------------------编程问答--------------------
引用 4 楼 langxingcs 的回复:
MessageBox.Show("1","1")
con_a a=new con_a();//不慢
MessageBox.Show("2","2")
this.panel1.Controls.Add(a)//很慢
MessageBox.Show("3","3")

同一网络,3台电脑a,b,c,慢的都是add时慢。a一点不慢,相比其它电脑配置高了点。b第一次时很慢,第二次就不慢了,c每次都慢。

你的代码没有可比性。

好比
for (int i = 1; i < 10; i++)
{
    ...
} //不慢
for (int i = 1; i < 1000000; i++)
{
    ...
} //慢

谁告诉你new不慢,add就一定不慢的。 --------------------编程问答--------------------
引用 5 楼 caozhy 的回复:
Quote: 引用 4 楼 langxingcs 的回复:

MessageBox.Show("1","1")
con_a a=new con_a();//不慢
MessageBox.Show("2","2")
this.panel1.Controls.Add(a)//很慢
MessageBox.Show("3","3")

同一网络,3台电脑a,b,c,慢的都是add时慢。a一点不慢,相比其它电脑配置高了点。b第一次时很慢,第二次就不慢了,c每次都慢。

你的代码没有可比性。

好比
for (int i = 1; i < 10; i++)
{
    ...
} //不慢
for (int i = 1; i < 1000000; i++)
{
    ...
} //慢

谁告诉你new不慢,add就一定不慢的。


--------------------编程问答-------------------- MessageBox.Show("1","1")
MessageBox.Show("2","2")之间没有一点停顿,

MessageBox.Show("2","2")
MessageBox.Show("3","3")之间停顿15秒左右,我这么测试没有可比性?

--------------------编程问答--------------------
引用 7 楼 langxingcs 的回复:
MessageBox.Show("1","1")
MessageBox.Show("2","2")之间没有一点停顿,

MessageBox.Show("2","2")
MessageBox.Show("3","3")之间停顿15秒左右,我这么测试没有可比性?


你怎么就想不明白呢。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,