Hello大家好,我是辙心,作为一个编程小白,今天我又来分享Winform学习中的一些常用小技巧了。
在做桌面端软件时,我们经常会用到打印功能,除了可以通过windows设置打印机,我们还可以通过使用.net提供的已经封装好的Api,来设置打印机。
1、获取打印机列表
获取打印机列表时,先using System.Drawing.Printing;
代码如下:
//设置默认打印机为列表第一个
PrintDocument printDocument = new PrintDocument();
this.comboBox1.Items.Add(printDocument.PrinterSettings.PrinterName);
this.comboBox1.SelectedIndex = 0;
//获取打印机列表
foreach (var item in PrinterSettings.InstalledPrinters)
{
if (!this.comboBox1.Items.Contains(item))
this.comboBox1.Items.Add(item);
}
获取默认打印机的时候,是通过一个PrintDocument来获取的。大家有什么更简便的办法,可以在评论区讨论。大家一起学习。
实际编写过程:
2、设置默认打印机
设置默认打印机的时候,我们需要用到DllImport来引入打印后台处理程序API(winspool.drv)的SetDefaultPrinter 函数。
官方文档是这么描述的:SetDefaultPrinter 函数为本地计算机上的当前用户设置默认打印机的打印机名称。
代码如下:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
bool state = SetDefaultPrinter(this.comboBox1.SelectedItem.ToString());
if (state)
MessageBox.Show("设置成功!");
}
[DllImport("winspool.drv")]
public static extern bool SetDefaultPrinter(string Printername);
实际编写过程:
以上方式都是小编的一点拙见,如果各位有什么更好的方法,欢迎评论区指正。小编感激不尽~
如果各位觉得我写的对你有那么一点点帮助,可以随手点一下关注,之后我会继续努力的。[加油]
,