Share via


Visual Basic 6.0 使用者可用的印表機集合

更新: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 Form)

PrinterSettings

其他資源

Windows Form 列印支援