禁用背景画

时间:2010-11-19 16:39:12

标签: c# paint flicker

我正在使用visual studio 2008

我有一个控件可以显示已处理的图像。每当处理参数改变时,我想更新这张图片,但没有闪烁。如果我可以在绘画之前阻止窗户遮挡该区域,闪烁应该在大部分时间消失。

问题是,怎么做?

像: this.SetStyle(ControlStyles.AllPaintingInWmPaint,true); 应该这样做,除了要求我继承TableLayoutPanel控件(我花了一个小时试图做的事情),以及我所取得的成就,这没有效果。

是否有一种简单的方法可以关闭我控制的背景画?

2 个答案:

答案 0 :(得分:5)

您是否尝试覆盖OnPaintBackground事件而无所事事?

protected override void OnPaintBackground(PaintEventArgs pevent)
{
}

答案 1 :(得分:-1)

试试这个:

this.SuspendLayout();
// do update here
this.ResumeLayout();

澄清:this是表格