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 物件。
請參閱
概念
參考
PrintDialog 元件概觀 (Windows Form)