您现在的位置: 天极网 > 开发频道 > 微软开发专栏 > [C#学习]枚举系统安装的所有打印机
全文

[C#学习]枚举系统安装的所有打印机

2003-03-26 09:45作者:蚕蛹出处:yesky责任编辑:方舟

  最近在论坛中不少网友问"如何把Windows安装的所有打印机列出来",在下面的程序中我们将把系统中所安装的打印机用列表框列出来,同时为默认打印机设置缺省值。

  在下面的程序中我们用到了两个主要的类,把所有的打印机列表出来用到了PrinterSettings 类,获取系统默认打印机用到了PrintDocument 类,下面我们就动手实践一下吧。

  先新建一个windows form的工程,然后加入一个lable和一个comBox,就行啦,关键在下面啦,我们如何获得默认打印机,就得用下面的语句。

PrintDocument prtdoc = new PrintDocument();
string strDefaultPrinter = prtdoc.PrinterSettings.PrinterName;//获取默认的打印机名

  有了默认的打印机,我们再把所有的打印机列出来。

  PrinterSettings类有一个InstalledPrinters的属性,不知是做什么的吧,查MSDN如下解释:
PrinterSettings.InstalledPrinters 获取安装在计算机上所有打印机的名称。

  在C#中如下定义:

[C#]
[Serializable]
[ComVisible(false)]
public static PrinterSettings.StringCollection InstalledPrinters
{get;}

  属性值

  PrinterSettings.StringCollection,它表示安装在计算机上所有打印机的名称。

  异常

异常类型 条件
Win32Exception 未能枚举可用的打印机

  备注

  可以使用已安装的打印机名称的集合向用户提供要打印到的打印机选择。

  下面的示例用已安装的打印机填充 comboInstalledPrinters 组合框,并且还在选择更改时使用 PrinterName 属性设置用于打印的打印机。PopulateInstalledPrintersCombo 例程在窗体初始化时被调用。该示例假定存在名为 printDoc 的 PrintDocument 变量,并且存在特定的组合框。

[C#]
//下面括号内的自己翻译添加进去的
private void PopulateInstalledPrintersCombo()
{
// 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的说明,懂多了吧,下面是我写练习完整代码:

共2页。 1 2 :

软件资讯·软件下载尽在天极软件

共2页。 1 2 下一页 末页
相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众