Menampilkan Semua Printer Yang Terinstall Dalam Pemrograman C#
Dalam pembangunan sebuah aplikasi, sering kali kita dihadapkan dengan sesuatu yang berubungan dengan printer. Misalnya untuk mencetak Nota Penjualan, Laporan, Grafik dan lain sebagainya. Di kondisi tertentu kita ingin menampilkan printer apa saja yang terinstall di komputer, maka pada kesempatan kali ini saya akan coba memberikan gambaran code sederhana untuk menampilkan semua printer yang terinstall ke dalam sebuah ComboBox. Disini kita akan memanfaatkan class PrinterSettings yang terdapat dalam System.Drawing.Printing, maka tambahkan dulu usingnya di baris paling atas sbb:
using System.Drawing.Printing;
Selanjutnya tinggal tambahkan code berikut di event Form_Load atau Form_Shown
for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++) { comboBox1.Items.Add(PrinterSettings.InstalledPrinters[i]); }
Dalam code diatas, kita menggunakan for untuk looping printer yang ada dalam PrinterSettings.InstalledPrinters. Karena InstalledPrinters adalah sebuah StringCollection maka dapat dengan mudah kita ambil isinya mulai dari collection ke-0 (nol) sampai dengan sejumlah berapapun di dalamnya. Untuk menambahkan nya dalam combo box tinggal memasukkannya dalam comboBox1.Items.Add
Alternatif yang lebih simple dari code diatas daripada menggunakan looping For, akan lebih mudah, simple dan terlihat professional kalau menggunakan ForEach seperti code berikut ini:
foreach (String printerName in PrinterSettings.InstalledPrinters) { comboBox1.Items.Add(printerName); }
Sebagai gambaran bagaimana hasil yang akan didapat ketika sudah diimplementasikan ke form adalah sebagai berikut:

List Installed Printer on ComboBox
Sedangkan full code nya adalah sbb:
using System; using System.Drawing.Printing; using System.Windows.Forms; namespace PrinterList { public partial class Form1 : Form { /// /// Initializes a new instance of the class. /// public Form1() { InitializeComponent(); } /// /// Handles the Load event of the Form1 control. /// ///The source of the event. ///The instance containing the event data. private void Form1_Load(object sender, EventArgs e) { foreach (String printerName in PrinterSettings.InstalledPrinters) { comboBox1.Items.Add(printerName); } } } }
Selamat belajar dan bereksperimen.
Leave a Reply
Want to join the discussion?Feel free to contribute!