.net winform窗体动态加载按钮速度太慢

helianbo888 2010-12-03 08:55:30
我在一个窗口中动态加载100个左右的按钮,但是那速度不快,会慢慢出来,看起来就很卡的样子
还有占有内存也很高,不像delphi那些开发的,占有内存很低,
有没有什么解决方法吗
...全文
606 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjp1234airen4385 2010-12-03
  • 打赏
  • 举报
回复
如果确实很慢,可以考虑listview,这个会快很多。
helianbo888 2010-12-03
  • 打赏
  • 举报
回复
不是机子性能问题,也不是说非常慢,就是看得到所有的按钮慢慢拉下来,不会一下子就出来
yan19861206 2010-12-03
  • 打赏
  • 举报
回复
你为何不尝试着让他循环出来啊! 慢慢加载出来 还节省内存空间
龍过鸡年 2010-12-03
  • 打赏
  • 举报
回复
我试了一下,不慢啊??! 一秒不到就加载完了~

是不是楼主的机器性能问题? 要不是系统问题? 再就是vs调试过多需要关闭下,哈哈!
helianbo888 2010-12-03
  • 打赏
  • 举报
回复
有没有人做过这样的例子,速度快点 发来参考参考
helianbo888 2010-12-03
  • 打赏
  • 举报
回复
唉,做触摸屏的上与运行的系统,按钮表示一些产品的
那不用按钮 不知道用什么哦 listview会不会同样卡
qq27385838 2010-12-03
  • 打赏
  • 举报
回复
多看看设计模式
qq27385838 2010-12-03
  • 打赏
  • 举报
回复
动态生成页可以吧。
1.把图片读成内存图片。
2.对你第一个按钮进行深层拷贝,不要new一个出来。
兔子-顾问 2010-12-03
  • 打赏
  • 举报
回复
无论如何都快不起来。.net就这样。你说的没错。怪到.net头上对的。意思是你无论如何也优化不好的。除非你不用按钮,而是自己直接绘制到窗体上。

你可以用wpf。会快的。
yangzn76 2010-12-03
  • 打赏
  • 举报
回复
应该组织一下,放到不同的标签下。 或者用网格控件。
龍月 2010-12-03
  • 打赏
  • 举报
回复
别动态生成了, 太慢
garfieldzf 2010-12-03
  • 打赏
  • 举报
回复
你这是什么软件竟然一个页面用100个button,

楼主牛X
helianbo888 2010-12-03
  • 打赏
  • 举报
回复

public void BindButton()
{
this.Controls.Clear();
int x = 0, y = 0;
for (int i =0; i < 200; i++)
{

Button btn = new Button();
btn.Text = "Btn" + i.ToString();
btn.Location = new System.Drawing.Point(x, y);
x = x + btn.Width + 10;
if (x + btn.Width > this.Width)
{
x = 0;
y = y + btn.Height + 5;
}

this.Controls.Add(btn);
}


}
private void button2_Click(object sender, EventArgs e)
{
BindButton();
}
helianbo888 2010-12-03
  • 打赏
  • 举报
回复
100*40的图片做为背景图片
全栈深入 2010-12-03
  • 打赏
  • 举报
回复
100个按钮你是用大尺寸图片做的吗?如果很小的16*16的或者非图片的应该不会太慢啊
as010wxw 2010-12-03
  • 打赏
  • 举报
回复
求动态加载按钮的方法,帮你研究
helianbo888 2010-12-03
  • 打赏
  • 举报
回复
很是郁闷 ,用net搞出来的软件用户如何接受啊?
xshf12345 2010-12-03
  • 打赏
  • 举报
回复
这个是winform的硬伤~~~你可以换WPF。。

110,534

社区成员

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

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

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