Виртуализируйте WinForms ScrollableControl - Дорогие дочерние элементы - PullRequest
0 голосов
/ 07 декабря 2009

Я создаю программу просмотра PDF с использованием библиотек Atalasoft DotImage. У них есть компонент для просмотра PDF, но он не поддерживает непрерывный макет PDF в стиле Acrobat, мне нужно отображать страницы по одной странице за раз.

Мне нужно создать своего рода виртуализируемый прокручиваемый элемент управления, в котором есть, вероятно, 3 PDFViewer'а, текущий фрейм и те, что непосредственно до и после. Поэтому мой вопрос - как бы я это сделал?

[Я занимался WPF последние 3 года, и мой опыт работы с WinForms превратился в умственный месиво.]

Мне нужно иметь возможность определять, какие зрители открывать, а какие закрывать. Как?

1 Ответ

1 голос
/ 07 декабря 2009

Вы можете сделать это с помощью панели. Установите AutoScroll = true и AutoScrollMinSize.Height = pages x control.Height. Реализуйте обработчик события Scroll и посмотрите на свойство -AutoScrollPosition.Y, чтобы узнать, на что смотрит пользователь. При необходимости измените свойство Location 3 элементов управления и их свойство Page.

...