处理方式:布局挂起

panelContent.SuspendLayout();
panelContent.ResumeLayout();
 private void button1_Click(object sender, EventArgs e)
        {
            panelContent.SuspendLayout();
            this.panelContent.Controls.Clear();
            string aa = DateTime.Now.ToString();
            int k = 1;
            for (int j = 0; j < 200; j++)
            {
                Add(new QueueButton(), k, this.panelContent, 16, "18.00", "19.00", "Pm");
                k++;
            }
            panelContent.ResumeLayout();
            string bb = DateTime.Now.ToString();

            MessageBox.Show(aa+"\r\n"+bb);
    
        }

启用窗体双缓存

CheckForIllegalCrossThreadCalls = false;
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲

 

重写CreateParams方法

protected override CreateParams CreateParams
{
  get
  {
    CreateParams cp = base.CreateParams;
    cp.ExStyle |= 0x02000000;////用双缓冲绘制窗口的所有子控件
    return cp;
  }
}

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-05
  • 2021-04-23
  • 2021-08-18
  • 2022-12-23
猜你喜欢
  • 2021-10-12
  • 2022-12-23
  • 2022-12-23
  • 2021-07-08
  • 2022-12-23
  • 2021-10-01
相关资源
相似解决方案