winfrom程序在panel中动态添加用户控件,多次添加显示后感觉软件慢了很多
界面多个按钮都可在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;
}
}
另外的按钮也是这样 委托 动态生成 点击多次后 感觉越来越慢越卡 最后退出