Страница: 1 |
Вопрос: Рисование линий в VB.NET | Добавлено: 19.07.09 01:01 |
Автор вопроса: ![]() |
Товарищи, помогите мне пожалуйста!!! Суть:
Есть приложение - оболочка для построения графов (сетей, деревьев). Рабочая область (РО) - PictureBox (хотя я пробовал и др. ЭУ, поддерживающие графику). На эту самую РО добавляются вершины (узлы), являющиеся пользовательскими ЭУ. Они соединяются между собой линиями (дугами). Дугу я рисую с помощью метода DrawLine. При перетаскивании узла по рабочей области в событии Paint РО, происходит очистка PictureBox`а и перерисовывание всех дуг (занесенных в массив при создании). Таким образом получается, что когда тащишь узел по РО, дуга тянется за ним, т.е. динамически изменяется. И все бы хорошо, только, если таких дуг становится больше 10, приложение начинает заметно подтормаживать при перетаскивании узлов, а еще при каждом перетаскивании все дуги "мерцают", т.к. происходит полная очистка РО и их перерисовка. Так вот, уважаемые товарищи, не подскажите ли вы мне, как избавится от тормозов и мерцания дуг. Может каким-либо другим способом их рисовать или т.п. Один хлопец сказал мне, что надо прорисовывать дуги не в событии Paint а непосредственно в оперативной памяти, однако как это сделать я не знаю, т.к. по образованию не программист, а программированием занимаюсь самостоятельно и посоветоваться толком не с кем. Сразу прошу прощения за многословность, однако я старался наиболее емко описать суть своей проблему (Большое спасибо тем кто хотя-бы дочитал ее до конца) Заранее благодарен всем за ваши ответы. |
Ответы | Всего ответов: 1 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #1 | Добавлено: 26.07.09 20:16 |
Пробуй переррисовывать только ту область изображения которая изменилась |
Страница: 1 |
|