适用于 Visual Basic 6.0 用户的 Printers 集合

更新:2007 年 11 月

Visual Basic 6.0 的 Printers 集合在 Visual Basic 2008 中没有直接等效项。

概念差异

在 Visual Basic 6.0 中,Printers 集合用于返回有关系统上可用打印机的信息。通常,您可以循环访问 Printers 集合以查找具有某些属性的打印机,然后将该打印机设置为您的应用程序的默认打印机。例如,您可能选择激光打印机而不选择点阵打印机。

在 Visual Basic 2008 中,没有 Printers 集合的直接等效项,这一模型已发生更改:不要再为应用程序选择打印机,而应允许用户自行选择。

说明:

Visual Basic 2008 具有一个 Printers 集合,该集合可使升级后的 Visual Basic 6.0 Printer 代码无需修改即可运行。对于任何新的开发,都应使用 PrinterSettings 类。

PrintDialog 组件可以用于为用户显示一个可用打印机列表。可以使用 PrinterSettings 类检索用户选定的打印机的属性。

Visual Basic 6.0 中的 Printers 集合有两个属性:Item 和 Count。PrintDialog 组件没有等效属性。PrinterSettings 类具有包含 Item 和 Count 的 InstalledPrinters 集合;然而这是一个 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 集合的所有实例都升级为 Visual Basic 2008 的 Printer 对象。

请参见

概念

打印更改(针对 Visual Basic 6.0 用户)

参考

PrintDialog 组件概述(Windows 窗体)

PrinterSettings

其他资源

Windows Forms Print Support