Я использую событие рисования Panel для отображения действительно длинной диаграммы. Я столкнулся с проблемой того, что размер элементов управления .net (высота и ширина) молча ограничен 16-битным целым числом со знаком (32 767). Я предполагаю, что это основное ограничение Win32.
Есть ли способ обойти это ограничение и получить больший контроль?





Вы можете попробовать создать свои собственные полосы прокрутки (а не прокручиваемую панель), а затем нарисовать только ту часть диаграммы, которая видна.
Рассмотрите возможность рендеринга миниатюрного изображения по длине вашей формы (один экран) с прямоугольником просмотра, указывающим, где вы находитесь. Затем просто выполните полноразмерный рендеринг той части, к которой они прокручиваются.
Предполагая, что у вас уже есть код, который отображает всю последовательность ДНК, возможно, вам даже не придется сильно менять; класс Битовая карта имеет метод Клонировать (), который позволяет клонировать только прямоугольную часть растрового изображения, а также метод GetThumbnailImage (), который вы можете использовать для создания миниатюры.
Могу я спросить, какие данные показывает эта диаграмма, которая требует, чтобы она была почти такой же шириной, как 23 широкоэкранных монитора (в зависимости от разрешения).