PrinterSettings.InstalledPrinters Property


Gets the names of all printers installed on the computer.

Namespace:   System.Drawing.Printing
Assembly:  System.Drawing (in System.Drawing.dll)

public static PrinterSettings.StringCollection InstalledPrinters { get; }

Property Value

Type: System.Drawing.Printing.PrinterSettings.StringCollection

A PrinterSettings.StringCollection that represents the names of all printers installed on the computer.

Exception Condition

The available printers could not be enumerated.

You can use the collection of installed printer names to provide the user a choice of printers to print to.

The following code example populates the comboInstalledPrinters combo box with the installed printers and also sets the printer to print, using the PrinterName property, when the selection changes. The PopulateInstalledPrintersCombo routine is called when the form is being initialized. The example requires that a PrintDocument variable named printDoc exists and that the specific combo box exists.

private void PopulateInstalledPrintersCombo()
    // Add list of installed printers found to the combo box.
    // The pkInstalledPrinters string will be used to provide the display string.
    String pkInstalledPrinters;
    for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++){
        pkInstalledPrinters = PrinterSettings.InstalledPrinters[i];

private void comboInstalledPrinters_SelectionChanged(object sender, System.EventArgs e)

    // Set the printer to a printer in the combo box when the selection changes.

    if (comboInstalledPrinters.SelectedIndex != -1) 
        // The combo box's Text property returns the selected item's text, which is the printer name.
        printDoc.PrinterSettings.PrinterName= comboInstalledPrinters.Text;



for printing and access to all printers on the network. Associated enumeration: PrintingPermissionLevel.AllPrinting

.NET Framework
Available since 1.1
Return to top