* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Применение элемента управления PrintPreviewControl
8 февраля 2009
В .NET Framework имеется элемент управления PrintPreviewControl, обеспечиваю- щий возможность предварительного просмотра документа перед отправкой его на печать. PrintPreviewControl находится на вкладке Windows Forms инструментальной панели Toolbox, откуда его можно перетащить на форму.
Чтобы настроить предварительный просмотр страницы, необходимо связать эле- мент управления PrintPreviewControl с экземпляром PrintDocument, установив свой- ство PrintPreviewControl. Document следующим образом: Visual Basic .NET myPrintPreview. Document = myPrintDocument Visual C# myPrintPreview. Document = myPrintDocument; После этого элемент управления PrintPreviewControl будет отображать содержи- мое, предназначенное для печати. Вызовите обработчик события PrintDocument. Print, чтобы перехватить формируемый им графический образ страницы и отобразить его в элементе управления PrintPreviewControl. При изменении параметров приложения часто меняется и облик печатаемого документа. Чтобы обновить образ страницы, отображаемый при предварительном просмотре, вызовите метод Invalidate Preview: Visual Basic .NET myPrintPreview. InvalidatePreview( ) Visual C# my Print Preview. InvalidatePreviewf ); Zoom — еще одно важное свойство элемента управления PrintPreviewControl. Оно указывает масштаб страницы при предварительном просмотре. Если оно равно 1, масштаб равен 100 %. При значениях до I изображение для предварительного про- смотра меньше оригинала, а при значениях, превышающих 1, соответственно бопьше. Элемент управления PrintPreviewDialog Элемент управления PrintPreviewControl существенно облегчает создание поддерж- ки предварительного просмотра печатаемых документов, в том числе добавление нестандартных режимов просмотра. Однако большинству приложений вполне дос- таточно стандартных функций предварительного просмотра при печати. Для этих целей в .NET Framework предусмотрен стандартный элемент управления PrintPreviewDialog, поддерживающий самые распространенные возможности предваритель- ного просмотра при печати. PrintPreviewDialog отображает диалоговое окно Если вы хотите разрешить пользователям самостоятельно конфигурировать за- дания печати, воспользуйтесь элементами управления Visual Studio .NET, обеспе- чивающими бесшовную интеграцию настройки принтера с пользовательским ин- терфейсом приложения — PrintDialog и PageSetupDialog. PrintDialog Окно PrintDialog позволяет установить свойство PrinterSettings объекта PrintDocumenl в период выполнения. Чтобы добавить экземпляр PrintDialog к приложению, пере- тащите его с вкладки Windows Forms панели Toolbox в окно конструктора. Чтобы отобразить окно PrintDialog в период выполнения, вызовите метод ShowDialog сле- дующим образом: Visual Basic .NET PrintOialog1.ShowDialog() Visual C# PrintDialog1.ShowDialog(); Окно PrintDialog необходимо связать с объектом PrintDocument. Для этого поме- стите в свойство Print Dialog. Document объект PrintDocument, представляющий нуж- ный документ. Во время отображения окно PrintDialog связывается со свойством PrinterSettings объекта PrintDocument, заданного свойством Document, и предоставля- ет пользователю графический интерфейс для настройки печати. PageSetupDialog Методики применения окон PageSetupDialog и PrintDialog сходны. Окно PageSetup- Dialog (рис. 8-3) предоставляет графический интерфейс для настройки параметров страницы и печати в период выполнения. Пользователь может выбрать ориента- цию страницы, размеры бумаги и установить поля, а также настроить принтер. Как и PrintDialog, окно PageSetupDialog поддерживает свойство Document, кото- рое содержит объект PrintDocument, представляющий нужный документ. Установив свойство Document, можно связать объекты PrintDocument и PageSetupDialog. При этом любые изменения, сделанные в окне настройки печати, будут отражаться в свойствах объектов PrintDocument. PrinterSettings и DefaultPageSettings. Конфигурирование PageSettings в период выполнения Иногда отдельные страницы многостраничного документа требуется напечатать не так, как остальные, например вывести одну страницу в альбомной ориентации, а все остальные — в книжной. Изменить параметры отдельной страницы позволяет свойство Print Page EventArgs. Page Settings, которое предоставляет параметры печати страницы. Изменения параметров печати, сделанные с помощью этого свойства, действуют только на текущую страницу, остальные страницы задания печатаются, как задано при отправке документа на печать. Следующий пример демонстрирует изменение макета в период выполнения, устанавливая альбомную ориентацию стра- ницы: Visual Basic .NET Это фрагмент обработчика событий PrintPage. Переменная е представляет объект PrintPageEventArgs. е.PageSettings.Landscape = True Visual C# // Зто фрагмент обработчика событий PrintPage. // Переменная е представляет объект PrintPageEventArgs. е.PageSettings.Landscape = true: