У меня проблемы с пониманием правильного способа создания прокручиваемой области в пользовательском элементе управления с использованием C #, .NET 3.5 и GDI +.
Есть ли какая-либо документация от Microsoft о том, как это сделать??Есть ли в сети достойный учебник для начинающих?
В основном меня беспокоит: если я создаю большой графический холст в памяти, каковы конкретные детали относительно того, насколько большой холст может (и должен быть)?Каковы соображения производительности?Какую часть прокручиваемой области я должен визуализировать заранее?
Например, если я рендерил очень большой графический график из уже существующих данных, я должен просто отобразить ВЕСЬ график в графическую память, а затем скопировать егов «прокручиваемую» область?Или это исчерпало бы доступную графическую память и начало записи в файл подкачки?
Уточнение:
Например, ваш веб-браузер не «перерисовывает» клиентскую область при каждой прокрутке.путем повторного рендеринга всех элементов.Статические элементы страницы визуализируются один раз на большую поверхность, и когда вы перемещаете полосу прокрутки, начальное смещение предварительного рендеринга просто изменяется.
Именно такое поведение я и использую,Я не хочу «рисовать содержимое, которое будет между начальным и конечным значениями для моего диапазона прокрутки» в событиях рисования.