Partager via


Collection d'imprimantes pour les utilisateurs de Visual Basic 6.0

Mise à jour : novembre 2007

La collection Printers de Visual Basic 6.0 n'a aucun équivalent direct dans Visual Basic 2008.

Différences conceptuelles

Dans Visual Basic 6.0, la collection Printers est utilisée pour retourner des informations relatives aux imprimantes disponibles sur un système. En général, vous parcourez la collection Printers pour rechercher une imprimante dotée de certains attributs, puis définissez cette imprimante comme imprimante par défaut pour votre application. Par exemple, vous pouvez choisir une imprimante laser au lieu d'une imprimante matricielle.

Dans Visual Basic 2008, il n'existe aucun équivalent direct de la collection Printers et le modèle a changé : plutôt que de choisir une imprimante pour votre application, vous devriez laisser vos utilisateurs faire leurs propres choix.

Remarque :

Visual Basic 2008 possède une collection Printers qui permet au code Printer mis à niveau à partir de Visual Basic 6.0 de s'exécuter sans modification. Pour tout nouveau développement, vous devez utiliser la classe PrinterSettings.

Un composant PrintDialog peut être utilisé pour présenter une liste d'imprimantes disponibles à l'utilisateur. Les propriétés de l'imprimante sélectionnée par l'utilisateur peuvent être récupérées à l'aide de la classe PrinterSettings.

La collection Printers de Visual Basic 6.0 a deux propriétés : Item et Count. Le composant PrintDialog n'a pas de propriétés équivalentes. La classe PrinterSettings a une collection InstalledPrinters comportant Item et Count. Toutefois, il s'agit d'une collection String qui ne peut pas être utilisée pour interroger les attributs d'une imprimante.

Modifications du code de la collection Printers

L'exemple de code ci-dessous illustre les différences entre les techniques de codage dans Visual Basic 6.0 et dans Visual Basic 2008.

Modifications du code pour retourner une liste d'imprimantes disponibles

L'exemple suivant illustre le remplissage d'un contrôle ListBox au moyen d'une liste d'imprimantes 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

Mettre à niveau des remarques

Lorsqu'une application Visual Basic 6.0 est mise à niveau vers Visual Basic 2008, toutes les instances de la collection Printers sont mises à niveau vers l'objet Printer de Visual Basic 2008.

Voir aussi

Concepts

Modifications de l'impression pour les utilisateurs de Visual Basic 6.0

Référence

Vue d'ensemble du composant PrintDialog (Windows Forms)

PrinterSettings

Autres ressources

Prise en charge de l'impression dans les Windows Forms