双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

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

yangjing6693 yangjing6693 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
界面多个按钮都可在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;
}
}

另外的按钮也是这样 委托 动态生成 点击多次后 感觉越来越慢越卡 最后退出
...全文
评论 6
收藏 已收藏
分享
返回顶部
yangjing6693
C# 111,129 成员 642,540 内容