Description

About Classes used

#1: An object of PrintDocument class, allow for setting the properties that describe how to print, and call the Print method to start the printing process.

#2: PrinterSettings class, Specifies information about how a document is printed, including the printer that prints it, when printing from a Windows Forms application.

Namespace Required - System.Drawing.Printing

Controls used:

1. ListView Control (lvPrinters)

2. Button Control (btnGetPrinter & btnExit)

Here I implemented the Code for enlisting the printer(s) installed on the system.

The Code: (do necessary changes)

1. Variables Declaration.

Boolean value = true;
String Default = "";

Listing 1

2. Search for Default Printer.

// Determine Default Printer Exist or Not
if ((new PrintDocument()).PrinterSettings.IsDefaultPrinter == value)
{
// if Exist Fetch the Printer's Name
ListViewItem item = new ListViewItem(Default =
(newPrintDocument()).PrinterSettings.PrinterName);
item.SubItems.Add(value.ToString());

// Add the Default Printer's Name to ListView
lvPrinters.Items.Add(item);

value = false; // Reset Boolean Value to False
}

Listing 2

3. Search for Other Printer(s)

//Fetch All Installed Printer's Name
foreach (object var in PrinterSettings.InstalledPrinters)
{
// Compare Installed Printer(s) Name with Default Printer
if (Default != var.ToString())
{
ListViewItem item = new ListViewItem(var.ToString());
item.SubItems.Add(value.ToString());

// Add Remaining Printer's Name to ListView
lvPrinters.Items.Add(item);
}
}

Listing 3

4. Now execute the Application and see the result (Figure 1).

Intended Result:

New Picture (4).png

Figure 1

Summary:

In this piece of writing, using C# environment, we have seen how to retrieve printer(s) name installed on the system.