zoukankan      html  css  js  c++  java
  • C#Winfrom系统打印机调用/设置默认打印机

    实现如下效果:

    实现方式如下:

    using System;
    using System.Drawing.Printing;
    using System.Runtime.InteropServices;
    using System.Windows.Forms;

    namespace PISS.View.CustomControl
    {
    public partial class PrinterConfigMessBox : Form
    {
    #region 定义、构造、初始化
    [DllImport("winspool.drv")]
    //调用win api将指定名称的打印机设置为默认打印机
    public static extern bool SetDefaultPrinter(String Name);
    private static PrintDocument PrintDocument = new PrintDocument();
    public string PrinterName { get; set; }

    //获取本机默认打印机名称
    public static String DefaultPrinter()
    {
    return PrintDocument.PrinterSettings.PrinterName;
    }

    public PrinterConfigMessBox(string message)
    {
    InitializeComponent();

    this.lblMessage.Text = message;
    }

    private void PrinterConfigMessBox_Load(object sender, EventArgs e)
    {
    foreach (var item in PrinterSettings.InstalledPrinters)
    {
    this.tvList.Nodes.Add(item.ToString());
    }
    PrinterName = PrintDocument.PrinterSettings.PrinterName;

    SetDefaultSelectNode();
    }

    /// <summary>
    /// 设置默认选中项
    /// </summary>
    private void SetDefaultSelectNode()
    {
    foreach (TreeNode item in this.tvList.Nodes)
    {
    if (!item.Text.Equals(PrinterName)) continue;

    this.tvList.SelectedNode = item;
    break;
    }
    }

    #endregion

    #region event
    private void btnPrint_Click(object sender, EventArgs e)
    {
    this.DialogResult = DialogResult.OK;
    this.Close();
    }

    private void btnCancel_Click(object sender, EventArgs e)
    {
    this.DialogResult = DialogResult.Cancel;
    this.Close();
    }

    private void tvList_AfterSelect(object sender, TreeViewEventArgs e)
    {
    PrinterName = this.tvList.SelectedNode.Text;
    PrinterConfigMessBox.SetDefaultPrinter(PrinterName);
    SetDefaultSelectNode();
    }

    #endregion

    }
    }

     

  • 相关阅读:
    第二次结对编程作业
    5 线性回归算法
    4 K均值算法--应用
    3 K均值算法
    2 机器学习相关数学基础
    1 机器学习概述
    15. 语法制导的语义翻译
    14.算符优先分析
    13.自下而上语法分析
    12.实验二 递归下降语法分析
  • 原文地址:https://www.cnblogs.com/YYkun/p/5662902.html
Copyright © 2011-2022 走看看