[C#][VB.NET]取得安裝於電腦上的所有印表機名稱與預設印表機名稱

  • 31732
  • 0
  • 2010-08-03

[C#][VB.NET]取得安裝於電腦上的所有印表機名稱與預設印表機名稱

 

1. 問題描述

如何取得安裝於電腦上的所有印表機名稱與預設印表機名稱

 

2. 方法

使用 System.Drawing.Printing 的兩個屬性

PrinterSettings.InstalledPrinters 屬性 : 取得安裝於電腦上的所有印表機名稱。

PrinterSettings.PrinterName 屬性 : 取得或設定要使用的印表機名稱。

 

C# 程式碼


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Drawing.Printing;

namespace wfPrint
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            PrintDocument printDoc = new PrintDocument();
            String sDefaultPrinter = printDoc.PrinterSettings.PrinterName;  // 取得預設的印表機名稱

            // 取得安裝於電腦上的所有印表機名稱,加入 ListBox (Name : lbInstalledPrinters) 中
            foreach (String strPrinter in PrinterSettings.InstalledPrinters)
            {
                this.lbInstalledPrinters.Items.Add(strPrinter);
            }

            // ListBox (Name : lbInstalledPrinters) 選擇在預設印表機
            this.lbInstalledPrinters.SelectedIndex = this.lbInstalledPrinters.FindString(sDefaultPrinter);
        }
    }
}

 

VB.NET 程式碼


Imports System.Drawing.Printing

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim printDoc As New PrintDocument()
        Dim sDefaultPrinter As String = printDoc.PrinterSettings.PrinterName '取得預設的印表機名稱

        '取得安裝於電腦上的所有印表機名稱,加入 ListBox (Name : lbInstalledPrinters) 中
        For Each strPrinter As String In PrinterSettings.InstalledPrinters
            Me.lbInstalledPrinters.Items.Add(strPrinter)
        Next

        'ListBox (Name : lbInstalledPrinters) 選擇在預設印表機
        Me.lbInstalledPrinters.SelectedIndex = Me.lbInstalledPrinters.FindString(sDefaultPrinter)

    End Sub
End Class

 

3. 執行結果

image image

 

4. 程式下載

[C#][VB.NET]取得安裝於電腦上的所有印表機名稱與預設印表機名稱.rar