Программирование >>  Программирование с использованием ajax 

1 ... 178 179 180 [ 181 ] 182 183 184 ... 396


MessageBox.Show(ex.Message, Simple Editor , MessageboButtons.OK, MessageBoxIcon.Error)

2. В этой программе все строки, которые будут напечатаны, устанавливаются в обработчике OnBeginPrint (). Измените реализацию этого метода:

private void OnBeginPrint(object sender, PrintEventArgs e) {

char[] param = {\n};

if (dlgPrint.PrinterSettings.PrintRange = PrintRange.Selection)

lines = textBoxEdit.SelectedText.Split(param); else

lines = textBoxEdit.Text.Split(param);

nt i = 0; char[] trimParam = {\r}; oreach (string s in lines)

lines[i++] = s.TrimEnd(trimParam);

3. Теперь можно скомпоновать и запустить приложение. Откройте файл, выберите какой-нибудь текст, откройте диалоговое окно из меню FileiPrint и выберите опцию Selection (Выделенный фрагмент) из группы Page Range. При выборе этой опции щелчок на кнопке Print будет приводить к печати только выбранного текста.

Описание полученных результатов

Значение AllowSelection устанавливается равным true только при наличии какого-то выбранного текста. Прежде чем диалоговое окно PrintDialog будет отображено, необходимо выполнить проверку для определения наличия какого-либо выбранного текста. Если это так, значение свойства SelectedText - не null. Если какой-либо текст выбран, значение свойства AllowSelection устанавливается равным true:

if (textBoxEdit.SelectedText != ) {

dlgPrint.AllowSelection = true;

Метод OnBeginPrint 0 вызывается при запуске каждого задания печати. Обращение к свойству printDilog. PrinterSettings . PrintRange позволяет выяснить, выбрал ли пользователь опцию Selection. Свойство PrintRange принимает значение из перечисления PrintRange: AllPages (Все страницы). Selection (Выбранный фрагмент) или SomePages (Некоторые страницы):

if (printDialog.PrinterSettings.PrintRange == PrintRange.Selection) {

Если выбранная опция - действительно PrintRange. Selection, мы получаем выбранный текст из свойства SelectedText объекта TextBox. Эта строка разбивается на части так же, как полный текст:

lines = textBoxEdit.SelectedText.Split(param);



PrinterSettings. PrintRange -AllowSelection -

Generd I

Se*eclPnrw

рМктоюПХР


AllowPrintToFile. PrintToFile

PrinterSettings.Copies

PrinterSettings. FromPage, ToPage Puc. 17.25. Свойства класса Pri nt Dial од

Предварительный просмотр

Опцию меню Print Preview (Предварительный просмотр) можно применять для предоставления пользователям возможности просмотра документа в том виде, каком он будет напечатан. В среде .NET реализация опции Print Preview не представляет сложности - для предварительного просмотра документа внутри формы в том виде, каком он будет напечатан, можно использовать класс PrintPreviewControl. Класс

Печать диапазонов страниц

Печать диапазона страниц может быть реализована так же, как печать выделенного фрагмента. Кнопку переключателя можно активизировать, устанавливая значение свойства AllowSomePages равным true, что позволяет пользователям выбирать диапазон страниц для печати. Однако каков диапазон страниц в приложении SimpleEditor? Какая страница является последней? Последняя страница определяется свойством PrintDialog. PrinterSettings .ТоРаде. Откуда пользователю известно, какие номера страниц нужно печатать? В таких приложениях обработки документов, как Microsoft Word, пользователи могут выбирать опцию Print Layout (Разметка страниц) для просмотра на экране текста с отображением номеров страниц. Простой элемент управления TextBox, используемый в SimpleEditor, не отображает номера страниц, поэтому данную функциональную возможность мы не станем реализовывать в приложении.

Конечно, возможность печати диапазона страниц можно было бы реализовать в качестве упражнения. Для этого значение свойства AllowSome Pages должно быть установлено в true. Перед отображением диалогового окна PrintDialog можно также установить значение свойства PrinterSettings. FromPage равным 1, а значение PrinterSettings .ТоРаде - равным максимальному номеру страниц.

Свойства класса PrintDialog

Свойства, рассмотренные в этом разделе, и их влияние на внешний вид диалогового окна PrintDialog показаны на рис. 17.25.



PrintPreviewDialog представляет собой диалоговое окно, которое является оболочкой элемента управления.

Класс PrintPreviewDialog

Если ознакомиться со свойствами и списком наследования в MSDN-документации класса PrintPreviewDialog, легко выяснить, что в действительности он представляет собой класс Form и не является оболочкой для обычного диалогового окна - этот класс является производным от System. Windows . Forms . Form и с ним можно работать, как с формами, созданными в главе 15. В следующем практическом занятии мы добавим класс PrintPreviewDialog в приложение SimpleEditor.

фительногп просмотра в Micrnsnft Word и WnrdPad отлича- * ViV -j-v.-?. -

viewDialog тем. чю в лих приложениях - ъ-ч

собственном диалоговом окне а в главнок Доозвление классэ PriiitPreviewDialog

1. Добавьте компонент PrintPreviewDialog из панели инструментов Toolbox в рабочую область Windows Forms Designer. Установите dlgPrintPreview в качестве значения свойства Name, а printDocument в качестве значения свойства Document.

2. Добавьте и реализуйте обработчика события Click пункта меню Print Preview:

private void OnFilePrintPreview(object sender, EventArgs e) {

dlgPrintPreview.ShowDialog();

Запустите приложение, чтобы увидеть окно предварительного просмотра печати, показанное на рис. 17.26.

Print preview

► PHI


Рис. 17.26. Диалоговое окно предварительного просмотра печати

Класс PrintPreviewControl

Работа функции предварительного просмотра в Microsoft Word и WordPad отличается от работы в PrintPreviewDialog тем, что в этих приложениях содержимое просмотра отображается не в собственном диалоговом окне, а в главном приложения.



1 ... 178 179 180 [ 181 ] 182 183 184 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика