Compartir a través de


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)

PrinterSettings

Otros recursos

Funcionalidad para imprimir en formularios Windows Forms