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

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


linesPrinted = 0;

e.HasMorePages = false;

4. Теперь можно скомпоновать проект и запустить приложение. Выбор пункта меню File=>Page Setup (Параметры страницы) ведет к открытию диалогового окна, изображенного на рис. 17.22. Оно позволяет изменять поля и выполнять печать с установленными полями.

Pagt Setup

Paper

5ош ll

Oriertabon PQrtral

era)

10 10

10 Bottom 10

Puc. 17.22. Диалоговое окно PageSetupDialog, отображаемое после выбора пункта меню FilePage Setup

private void OnFilePageSetup(object sender, EventArgs e) {

dlgPageSetup.ShowDiaiog();

3. Теперь измените реализацию метода OnPrintPage (), чтобы использовать поля, установленные объектом PageSetupDialog. В коде мы устанавливаем значения переменных х и у в соответствии со значениями свойств MarginBounds . Lef t и MarginBounds .Top класса PrintPageEventArgs. Проверьте поля страницы с помощью свойства MarginBounds .Bottom:

private void OnPrintPage(object sender, PrintPageEventArgs e) {

int X = e.MarginBounds.Left; int у = e.MarginBounds.Top;

while (linesPrinted < lines.Length) {

e.Graphics.Drawstring(lines[linesPrinted++],

new Font( Arial , 10), Brushes.Black, x, y); У += 15;

if (y > = e.MarginBounds.Bottom)

e.HasMorePages = true; return;



Класс PrintDialog

Класс PrintDialog позволяет пользователям выбирать принтер из числа установленных, количество копий и некоторые параметры принтера вроде ориентации и источника бумаги. Поскольку использование класса PrintDialog очень просто, в следующем практическом занятии мы сразу добавим диалоговое окно PrintDialog в приложение SimpleEditor.

Практическое занятие Добавление диалогового окна PrintDialog

1. Перетащите элемент управления PrintDialog из панели инструментов Toolbox на форму. В качестве значения свойства Name установите dlgPrint, а в качестве значения свойства Document - printDocument.

Измените реализацию обработчика события Click меню Print следующим образом:

private void OnFilePrint(object sender, EventArgs e) {

try {

if (dlgPrint.ShowDialog0 = DialogResult.OK) {

printDocument.Print();

catch (InvalidPrinterException ex) {

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

2. Скомпонуйте и запустите приложение. Выбор пункта меню FileiPrint приводит к открытию диалогового окна PrintDialog. Теперь можно выбрать принтер, чтобы напечатать документ, как показано на рис. 17.23.

Print

% Add PrintFf

HP Offkejet 5600 iffitt on trriluivw lasc9 t on trwkini

MIcroMft Ofl IHMtcrosort XP

Status Ree<Jy Location Stock

Page Range

iLгt>er of spp a 1

2З 2З

Рис. 17.23. Выбор принтера для печати



QiipiiFteName [ (Ж

Рис. 17.24. Окно печати в файл

□ В разделе Page Range для выбора доступна только опция АН (Все) - по умолчанию опции Pages (Страницы) и Selection (Выделенный фрагмент) отключены. Реализация этих опций описана в следующем разделе.

□ Группа Copies позволяет пользователю выбирать количество копий, которые должны быть напечатаны.

Печать выбранного текста

Установка значения свойства AllowSelection равным true позволяет пользователям печатать выбранный текст. Но для этого нужно изменить код печати так, чтобы печатался только выбранный текст. Эта функциональная возможность будет добавлена в следующем практическом занятии.

Практическое занятие Добавление выборки для печати

1. Добавьте выделенный код в обработчик Click кнопки Print:

private void OnFilePrint(object sender, EventArgs e) {

try {

if (textBoxEdit.SelectedText != {

dlgPrint. AllowSelection = true;

if (dlgPrint.ShowDiaiog0 == DialogResult.OK) {

printDocument.Print ();

catch (InvalidPrinterException ex)

Параметры диалогового окна PrintDialog

в приложении SimpleEditor мы не изменяли ни одного из свойств объекта PrintDialog, но это диалоговое окно также обладает рядом параметров. Диалоговое окно, изображенное на рис. 17.23, содержит три группы параметров: Printer (Принтер), Page Range (Диапазон страниц) и Copies (Количество копий).

□ В группе Printer можно выбирать не только принтер, но и опцию Print to File (Печатать в файл). По умолчанию эта опция активизирована, но не отмечена флажком. Выбор этого флажка позволяет пользователю записывать печатный вывод в файл, а не выводить на принтере. Эту опцию можно отключить, устанавливая значение свойства AllowPrintToFile равным false.

а Если пользователь выбирает эту опцию, обращение к printDocument. Print () ведет к открытию диалогового окна, показанного на рис. 17.24, которое запрашивает имя файла для записи печатного вывода.

int to Fito



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

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