отключить фоновую живопись - PullRequest
3 голосов
/ 19 ноября 2010

Я использую Visual Studio 2008

У меня есть элемент управления, отображающий обработанное изображение.Всякий раз, когда параметры обработки меняются, я хотел бы обновить эту картинку, но без мерцания.Если бы я мог помешать окнам закрывать область перед тем, как рисовать, мерцание должно по большей части исчезнуть.

Вопрос в том, как это сделать?

Что-то вроде: this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);Должен сделать это, за исключением того, что требует от меня подкласса элемента управления TableLayoutPanel (что я потратил час, пытаясь сделать), и с тем, что я достиг, это не имело никакого эффекта.картина моего контроля?

Ответы [ 2 ]

5 голосов
/ 19 ноября 2010

Вы пытались переопределить событие OnPaintBackground и ничего не делать?

protected override void OnPaintBackground(PaintEventArgs pevent)
{
}
0 голосов
/ 19 ноября 2010

попробуйте это:

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

Уточнение: this это форма

...