Я использую ZedGraph для отображения кривых (с точками 10k +) в моем приложении.Перерисовать только часть панели
Я добавил вертикальные полосы, чтобы пользователь мог видеть значение точки (вид перекрестия). Каждый раз, когда пользователь перемещает мышь, весь контроль перерисовывается:
bool stackedGraphControl1_MouseMoveEvent(ZedGraphControl sender, MouseEventArgs e)
{
DrawCursors(e.Location);
Refresh();
return false;
}
С более чем 2-х кривыми, компьютер становится лагом. Одно из решений состоит в том, чтобы нарисовать только вертикальные полосы (удалить вызов Refresh()
и нарисовать только вертикальные полосы). Это намного быстрее, но графический результат смешно:
Но не очень полезно. Я понимаю, что все вертикальные полосы рисуются снова и снова, но не удаляются.
Есть ли способ перерисовать (то есть: удалить и нарисовать) только полосы (которые находятся в GraphObjList
моих панелей)?