书宇软件
书宇教育教学软件--出题助手


c#.net 实现了下拉列表显示系统安装的所有打印机,并且把默认的打印机作为下拉列表的默认项。
PrinterSettings 类:列举系统中安装的所有打印机名称。
PrintDocument 类:获取默认的打印机名称。
具体程序如下:

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 ss in PrinterSettings.InstalledPrinters)
      {
          
///在列表框中列出所有的打印机,
          printerList.Items.Add(ss);
          
if (ss == strDefaultPrinter)//把默认打印机设为缺省值
          {
              printerList.SelectedIndex 
= printerList.Items.IndexOf(ss);
          }
      }

   
///
   
/// 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()
  {
  label1 
= new System.Windows.Forms.Label();
      printerList 
= new System.Windows.Forms.ComboBox();
     SuspendLayout();
  
// 

      label1.Location 
= new System.Drawing.Point(824);
      label1.Name 
= "label1";
      label1.Size 
= new System.Drawing.Size(7216);
      label1.TabIndex 
= 0;
      label1.Text 
= "选择打印机:";
           
///
      printerList.Location = new System.Drawing.Point(8822);
      printerList.Name 
= "printerList";
      printerList.Size 
= new System.Drawing.Size(19221);
      printerList.TabIndex 
= 1;
      printerList.Text 
= "当前系统未装打印机";

      AutoScaleBaseSize 
= new System.Drawing.Size(513);
      ClientSize 
= new System.Drawing.Size(28861);
      Controls.AddRange(
new System.Windows.Forms.Control[]{
      printerList,
      label1});
      Name 
= "Form1";
      Text 
= "打印机列表";
      ResumeLayout(
false);

  }
      
#endregion

  
/// 
  
/// 应用程序的主入口点。
  
/// 
  [STAThread]
  
static void Main() 
  {
      Application.Run(
new Form1());
  }

 }
  }
}
posted on 2005-10-20 17:02  可可先生  阅读(695)  评论(1编辑  收藏  举报