C# winForm 修改默认打印机(效果不太好,每次修改都会有一个系统的打印弹窗(win10))
2021-04-13 20:26
标签:event oid 下拉 def time 设置 combobox 选项 inf 1.界面:1个按钮+1个combobox; 2.开头阴影 3.代码 C# winForm 修改默认打印机(效果不太好,每次修改都会有一个系统的打印弹窗(win10)) 标签:event oid 下拉 def time 设置 combobox 选项 inf 原文地址:https://www.cnblogs.com/nb08611033/p/8973172.htmlusing System.Runtime.InteropServices;
private void Form1_Load(object sender, EventArgs e)
{
InitprinterComboBox(); //初始化打印机下拉列表选项
}
private void InitprinterComboBox()
{// 初始化打印机列表
PrintDocument printDocument = new PrintDocument();
string defaultPrinter = printDocument.PrinterSettings.PrinterName;//获取默认打印机名
foreach (string printer in PrinterSettings.InstalledPrinters)
{//获取所有打印机名称
combobox1.Items.Add(printer);
if (printer == defaultPrinter)
{//默认打印机设置在列表的第一项
combobox1.SelectedIndex = combobox1.Items.IndexOf(printer);
}
}
}
private void button1_Click(object sender, EventArgs e)
{//设置默认打印机按钮
try
{
if (Externs.SetDefaultPrinter(cmbPrinter.SelectedItem.ToString()))
{//设置默认打印机
MessageBox.Show(cmbPrinter.SelectedItem.ToString() + "设置为默认打印机成功!");
}
}
catch(Exception ex)
{
MessageBox.Show("设置为默认打印机失败: "+ex.Message);
}
}
class Externs
{//调用win api将指定名称的打印机设置为默认打印机
[DllImport("winspool.drv")]//引入
public static extern bool SetDefaultPrinter(String printerName);//定义外部库函数
}
文章标题:C# winForm 修改默认打印机(效果不太好,每次修改都会有一个系统的打印弹窗(win10))
文章链接:http://soscw.com/index.php/essay/75341.html