C#枚举系统安装的所有打印机
/ The combo box's Text property returns the selected item's text, which is the printer name.(将选择的打印机名在列表框中显示)// Set the printer to a printer in the combo box when the selection changes.(当列表框改变时设置选择的打印
// Add list of installed printers found to the combo box.(将系统中所有的打机加入列表框)
// The pkInstalledPrinters string will be used to provide the display string.(列表框中显示的字串由pkInstalledPrinters提供)
foreach(String pkInstalledPrinters in
PrinterSettings.InstalledPrinters)
{
comboInstalledPrinters.Items.Add(pkInstalledPrinters);
}
}
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;
}
}
看了MSDN的说明,懂多了吧,下面是我写练习完整代码.
//程序说明:将系统中的所有打印机在列表框中列出
//程序变量: PrintDocument prtdoc、string strDefaultPrinter
//编写人:蚕蛹(sillnet@163.net)
//日期:2003-03-20
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace PrinterList
{
///
/// Form1 的摘要说明。
///
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox printerList;
///
/// 必需的设计器变量。
///
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
PrintDocument prtdoc = new PrintDocument();
string strDefaultPrinter = prtdoc.PrinterSettings.PrinterName;//获取默认的打印机名
foreach(String strPrinter in PrinterSettings.InstalledPrinters)
//在列表框中列出所有的打印机,
{
printerList.Items.Add(strPrinter);
if (strPrinter == strDefaultPrinter)//把默认打印机设为缺省值
{
printerList.SelectedIndex = printerList.Items.IndexOf(strPrinter);
}
}
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
///
/// 清理所有正在使用的资源。
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.printerList = new System.Windows.Forms.ComboBox();
this.SuspendLayout();
//
// label1
//
this.label1.Location = new System.Drawing.Point(8, 24);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(72, 16);
this.label1.TabIndex = 0;
this.label1.Text = "选择打印机:";
//
// printerList
//
this.printerList.Location = new System.Drawing.Point(88, 22);
this.printerList.Name = "printerList";
this.printerList.Size = new System.Drawing.Size(192, 21);
this.printerList.TabIndex = 1;
this.printerList.Text = "当前系统未装打印机";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(288, 61);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.printerList,
this.label1});
this.Name = "Form1";
this.Text = "打印机列表";
this.ResumeLayout(false);
}
#endregion
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
}
}
更多推荐
所有评论(0)