Colección Printers para usuarios de Visual Basic 6.0
Actualización: noviembre 2007
La colección Printers de Visual Basic 6.0 no tiene ningún equivalente directo en Visual Basic 2008.
Diferencias conceptuales
En Visual Basic 6.0, la colección Printers se usa para devolver información sobre las impresoras disponibles de un sistema. Normalmente, recorre en iteración la colección Printers para buscar una impresora con determinados atributos y luego establece esa impresora como predeterminada para la aplicación. Por ejemplo, podría elegir una impresora láser en lugar de una impresora matricial de puntos.
En Visual Basic 2008, no hay ningún equivalente directo para la colección Printers y el modelo ha cambiado. En lugar de elegir una impresora para la aplicación, debe permitir que el usuario la elija.
Nota: |
---|
Visual Basic 2008 tiene una colección Printers que habilita para ejecutar el código actualizado de Visual Basic 6.0 Printer sin modificación alguna. Para cualquier nuevo desarrollo, debería usar la clase PrinterSettings. |
Se puede utilizar un componente PrintDialog para presentar una lista de impresoras disponibles al usuario. Las propiedades de la impresora seleccionada por el usuario se recuperan utilizando la clase PrinterSettings.
La colección Printers de Visual Basic 6.0 tiene dos propiedades: Item y Count. El componente PrintDialog no tiene propiedades equivalentes. La clase PrinterSettings tiene una colección InstalledPrinters con Item y Count; no obstante, se trata de una colección de tipo String y no se puede utilizar para consultar los atributos de una impresora.
Cambios de código para la colección Printers
Los siguientes ejemplos de código muestran las diferencias en las técnicas de codificación entre Visual Basic 6.0 y Visual Basic 2008.
Cambios de código para devolver una lista de las impresoras disponibles
El ejemplo siguiente muestra cómo rellenar un control ListBox con una lista de las impresoras disponibles.
' 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
Notas de actualización
Cuando una aplicación de Visual Basic 6.0 se actualiza a Visual Basic 2008, cualquier instancia de la colección Printers se actualiza al objeto Printer de Visual Basic 2008 .
Vea también
Conceptos
Imprimir cambios para usuarios de Visual Basic 6.0
Referencia
Información general sobre el componente PrintDialog (formularios Windows Forms)