Опубликован: 31.08.2006 | Уровень: специалист | Доступ: свободно
Лекция 19:

Работа с принтерами

Следующий шаг: добавление диалоговых окон Print Preview и Page Setup

Приложение Print File готово к выполнению нескольких заданий печати, но ее интерфейс не настолько нагляден, как в коммерческих приложениях Windows. Вы можете сделать вашу программу более гибкой и интересной, добавив в нее несколько вспомогательных диалоговых окон, дополняющих диалоговое окно Печать, с которым вы экспериментировали в предыдущем упражнении. На закладке Windows Forms окна Области элементов доступны следующие дополнительные элементы управления печатью, которые работают аналогично элементам управления PrintDialog и OpenFileDialog, которые вы уже использовали:

  • PrintPreviewDialog - элемент управления, который отображает диалоговое окно Print Preview (Предварительный просмотр);
  • PageSetupDialog - элемент управления, который отображает диалоговое окно Page Setup (Параметры страницы).

Как и другие диалоговые окна, эти элементы управления печатью могут быть добавлены с помощью Области элементов или созданы программно.

В следующем упражнении вы добавите в программу Print File, с которой вы только что работали, диалоговые окна предварительного просмотра печати и параметров страницы. В готовых файлах практических занятий я назвал этот проект Print Dialogs, так что вы можете сразу перейти к готовому коду проекта, но если хотите, можете просто добавить функции диалоговых окон непосредственно в проект Print File.

Добавление элементов управления PrintPreviewDialog и PageSetupDialog

  1. Если вы не выполняли последнее упражнение, откройте проект Print File из папки c:\vbnet03sbs\Гл.18\print File. Проект Print File является отправной точкой этого проекта.
  2. Отобразите форму, а затем используйте элемент управления Button и добавьте в верхней части формы две дополнительные кнопки.
  3. Дважды щелкните мышью в окне Области элементов на элементе управления PrintPreviewDialog на закладке Windows Forms. Объект диалога предварительного просмотра печати добавится в область компонент.
  4. Дважды щелкните мышью в окне Области элементов на элементе управления PageSetupDialog на закладке Windows Forms. В область компонент добавится объект диалога параметров страницы. Если эти объекты в области компонент закрывают друг друга, вы можете перетащить их и разместить более удобно, а можете щелкнуть правой кнопкой мыши на области компонент и выбрать опцию Line Up Icons (Упорядочить значки).
  5. Установите для объектов кнопок формы следующие свойства:

    Объект Свойство Установка
    Button1 Name btnSetup
    Enabled False
    Text Параметры страницы
    Button2 Name btnPreview
    Enabled False
    Text Предварительный просмотр

    Ваша форма будет выглядеть примерно так.


  6. Чтобы отобразить в Редакторе кода процедуру события btnSetup_Click, дважды щелкните мышью на кнопке Параметры страницы ( btnSetup ).
  7. Введите следующий код программы:

    Try
    	'Загружаем параметры страницы и отображаем диалоговое окно
    	'параметров страницы
    	PageSetupDialog1.PageSettings = PrintPageSettings
    	PageSetupDialog1.ShowDialog()
    	Catch ex As Exception
    	'Отображаем сообщение об ошибке
    	MessageBox.Show(ex.Message)
    End Try

    Код для создания диалогового окна Параметры страницы в этой программе довольно прост, так как в верхней части кода формы уже была определена переменная PrintPageSettings. Эта переменная хранит информацию об определении текущей страницы. Когда она присваивается свойству PageSettings объекта PageSetupDialog1, метод ShowDialog автоматически загружает диалоговое окно, которое позволяет пользователю ориентацию страницы, полей и другие параметры страницы. Обработчик ошибок Try...Catch просто обрабатывает все ошибки, которые могут произойти при использовании метода ShowDialog.

  8. Снова отобразите форму, а затем дважды щелкните мышью на кнопке Предварительный просмотр (btnPreview), чтобы отобразить процедуру события btnPreview_Click.
  9. Введите следующий код программы:

    Try
    	'Указываем текущие параметры страницы
    	PrintDocument1.DefaultPageSettings = PrintPageSettings
    	'Указываем документ для диалогового окна предварительного просмотра
    	'и показываем его
    	StringToPrint = RichTextBox1.Text
    	PrintPreviewDialog1.Document = PrintDocument1
    	PrintPreviewDialog1.ShowDialog()
    	Catch ex As Exception
    	'Отображаем сообщение об ошибке
    	MessageBox.Show(ex.Message)
    End Try

    Аналогичным образом процедура события btnPreview_Click присваивает переменную PrintPageSettings свойству DefaultPageSettings объекта PrintDocument1, а затем копирует текст из объекта форматированного текста в переменную StringToPrint и открывает диалоговое окно Предварительный просмотр. Предварительный просмотр автоматически использует данные параметров страницы для отображения визуального представления документа так, как он будет напечатан - вам не требуется отображать эту информацию вручную. Теперь сделайте небольшое изменение в коде программы в процедуре события btnOpen_Click.

  10. Прокрутите код в Редакторе кода до процедуры события btnOpen_Click. Это процедура, которая отображает диалоговое окно Открыть, открывает текстовый файл и включает кнопку печати. Так как вы только что добавили две новые кнопки печати, добавьте код программы, чтобы включать кнопки Параметры страницы и Предварительный просмотр.
  11. Прокрутите код в конец этой процедуры события непосредственно перед блоком кода Catch и найдите следующий оператор программы:

    btnPrint.Enabled = True
  12. Под этим оператором добавьте следующие строки кода:

    btnSetup.Enabled = True
    btnPreview.Enabled = True

    Теперь ваша программа включит кнопки печати, когда будет открыт документ для печати.

  13. Чтобы сохранить изменения, щелкните на кнопке Save All (Сохранить все) на панели инструментов.
Сайдахмад Зарипов
Сайдахмад Зарипов
Жанболат Шаймерден
Жанболат Шаймерден

Можно ли выбирать язык для надписей и команд в среде разработки?