winfrom程序在panel中动态添加用户控件,多次添加显示后感觉软件慢了很多

yangjing6693 2014-05-15 09:09:22
界面多个按钮都可在panel中生成显示的用户控件,每次低级按钮后清除panel中的控件重新动态循环添加,点击多次后 就感觉越来越慢,到最后软件卡在代码上 然后就进行不了了,如果在debug中运行 是直接闪退或者 提示停止工作
/// <summary>
/// 刷新帖子列表(委托方法)
/// </summary>
private void deleagtetietitle()
{
if (jinxing)
{
jinxing = false;
AddDelegate add = new AddDelegate(ZhuTieShow);//委托方法
IAsyncResult iAR = add.BeginInvoke(null, null);
iAR.AsyncWaitHandle.WaitOne();
add.EndInvoke(iAR);

}
jinxing = true;
}
动态生成控件到panel
private void TiePage(JArray ja)
{
try
{
pantie.Controls.Clear();
for (int i = start; i < stop; i++)
{
UC_TieTitle uct = new UC_TieTitle();

uct.lbltitle.Tag = ja[i]["bbsInfoId"].ToString();
uct.lbluser.Text = ja[i]["bbsInfoAccname"].ToString();
uct.lbltime.Text = "发表于:" + HttpWeb.GetTime(ja[i]["bbsInfoCreationtime"].ToString());
uct.lblhfcount.Text = ja[i]["replySum"].ToString();
uct.ForeColor = Color.Black;
//uct.lblhfcount.Text = i.ToString();
uct.Location = new Point(x, y);
pantie.Controls.Add(uct);
uct.lbltitle.Click += new EventHandler(TitleClick);
uct.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
uct.Width =pantie.Width;
//uct.Dock = DockStyle.Top;
y = y + uct.Height;
}
}
catch (Exception ex)
{
throw;
}
}

另外的按钮也是这样 委托 动态生成 点击多次后 感觉越来越慢越卡 最后退出
...全文
373 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangjing6693 2014-05-15
  • 打赏
  • 举报
回复
引用 3 楼 hong0122333 的回复:
控件继承IDisposable 需要释放
哪些需要释放呢??
咿呀咿呀哊 2014-05-15
  • 打赏
  • 举报
回复
控件继承IDisposable 需要释放
yangjing6693 2014-05-15
  • 打赏
  • 举报
回复
没人能够解答么
yangjing6693 2014-05-15
  • 打赏
  • 举报
回复
这个问题怎么解决呢 大神们
yangjing6693 2014-05-15
  • 打赏
  • 举报
回复
引用 5 楼 duanzi_peng 的回复:
这个 有必要使用委托吗?常规方法都可以哦了。 总感觉你的 方法有问题
异步调用 方法内处理东西较多 如果上次点击没有完成 软件会假死在那里
exception92 2014-05-15
  • 打赏
  • 举报
回复
这个 有必要使用委托吗?常规方法都可以哦了。 总感觉你的 方法有问题

110,534

社区成员

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

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

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