Как Избавиться От Мерцания При Прорисовке?

Тема в разделе ".NET", создана пользователем savedata, 30 сен 2012.

  1. savedata

    savedata Гость

    суть программы: на форме создал панель Panel и на ней рисую фигуру статическую, и точку которая двигается за курсором

    Код (C++):
    mouseMovePanel(object sender, MouseEventArgs e){mousePlace(e.X, e.Y);} //двигаю мышкой по панели - получаю координаты курсора
    mousePlace(int x, int y){X=x; Y=y; panel.Refresh();} //делаю небольшие преобразования с координатами, делаю Refresh панели
    drawObject(Graphics g){g.DrawLine(p, x, y);} //метод прорисовки объекта
    drawPoint(Graphics g){point.AddEllips(X, Y, 1, 1); g.DrawPath(p, point);} //метод прорисовки точки с координатами (X, Y)
    panel_Paint(object sender, PaintEventArgs e){drawObject(e.Graphics); drawPoint(e.Graphics);} //рисую на панели
    при движении мышкой все мерцает! как от этого избавиться?
     
  2. a0z

    a0z Well-Known Member

    Регистрация:
    15 мар 2011
    Сообщения:
    109
    Симпатии:
    0
  3. Гость

    В случае с контролами помогает установка DoubleBuffered = true; В случае ручной прорисовки - аналогично надо делать двойную буферизацию.
     
Загрузка...

Поделиться этой страницей