Поделиться через


Коллекция Printers (для пользователей Visual Basic 6.0)

Обновлен: Ноябрь 2007

Коллекция Printers версии Visual Basic 6.0 не имеет прямого эквивалента в версии Visual Basic 2008.

Концептуальные различия

В Visual Basic 6.0 коллекция Printers возвращает сведения о доступных принтерах в системе. Обычно выполняется итерация коллекции Printers с целью поиска принтера с определенными атрибутами, и затем этот принтер устанавливается в качестве принтера приложения, используемого по умолчанию. Например, можно выбрать лазерный принтер вместо матричного.

В версии Visual Basic 2008 прямого эквивалента коллекции Printers не существует, и данная модель изменена: вместо того чтобы выбирать принтер для приложения, пользователям предоставляется возможность сделать выбор самостоятельно.

h510w79b.alert_note(ru-ru,VS.90).gifПримечание.

В версии Visual Basic 2008 существует коллекция Printers, позволяющая обновленный код версии Visual Basic 6.0, в котором используется коллекция Printer, выполнять без внесения изменений. Для новых разработок следует использовать класс PrinterSettings.

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

Коллекция Printers версии Visual Basic 6.0 содержит два свойства: Item и Count. Компонент PrintDialog не имеет эквивалентных свойств. Класс PrinterSettings содержит коллекцию InstalledPrinters со свойствами Item и Count; однако это коллекция типа String, и она не может быть использована для запроса атрибутов принтера.

Изменение кода для коллекции Printers

На примере следующего кода показаны различия в способах программирования между версиями Visual Basic 6.0 и Visual Basic 2008.

Изменения кода для возвращения списка доступных принтеров

На примере следующего кода показано, как можно заполнить элемент управления ListBox списком доступных принтеров.

' Visual Basic 6.0
Dim X As Printer
For Each X In Printers
    List1.AddItem X.DeviceName
Next
' Visual Basic
Dim i As Integer
Dim pkInstalledPrinters As String
For i = 0 To System.Drawing.Printing.PrinterSettings. _
  InstalledPrinters.Count - 1

  pkInstalledPrinters = System.Drawing.Printing.PrinterSettings. _
    InstalledPrinters.Item(i)
  ListBox1.Items.Add(pkInstalledPrinters)
Next

Замечания по обновлению

При обновлении приложения версии Visual Basic 6.0 до версии Visual Basic 2008 все экземпляры коллекции Printers обновляются путем замены на объект Printer версии Visual Basic 2008.

См. также

Основные понятия

Касающиеся печати изменения (для пользователей Visual Basic 6.0)

Ссылки

Общие сведения о компоненте PrintDialog (Windows Forms)

PrinterSettings

Другие ресурсы

Поддержка печати в Windows Forms