Товарищи, помогите мне пожалуйста!!! Суть:
Есть приложение - оболочка для построения графов (сетей, деревьев). Рабочая область (РО) - PictureBox (хотя я пробовал и др. ЭУ, поддерживающие графику). На эту самую РО добавляются вершины (узлы), являющиеся пользовательскими ЭУ. Они соединяются между собой линиями (дугами). Дугу я рисую с помощью метода DrawLine. При перетаскивании узла по рабочей области в событии Paint РО, происходит очистка PictureBox`а и перерисовывание всех дуг (занесенных в массив при создании). Таким образом получается, что когда тащишь узел по РО, дуга тянется за ним, т.е. динамически изменяется. И все бы хорошо, только, если таких дуг становится больше 10, приложение начинает заметно подтормаживать при перетаскивании узлов, а еще при каждом перетаскивании все дуги "мерцают", т.к. происходит полная очистка РО и их перерисовка.
Так вот, уважаемые товарищи, не подскажите ли вы мне, как избавится от тормозов и мерцания дуг. Может каким-либо другим способом их рисовать или т.п. Один хлопец сказал мне, что надо прорисовывать дуги не в событии Paint а непосредственно в оперативной памяти, однако как это сделать я не знаю, т.к. по образованию не программист, а программированием занимаюсь самостоятельно и посоветоваться толком не с кем.
Сразу прошу прощения за многословность, однако я старался наиболее емко описать суть своей проблему (Большое спасибо тем кто хотя-бы дочитал ее до конца)
Заранее благодарен всем за ваши ответы.
Ответить
|