Hello大家好,我是轍心,作為一個編程小白,今天我又來分享Winform學(xué)習(xí)中的一些常用小技巧了。
在做桌面端軟件時,我們經(jīng)常會用到打印功能,除了可以通過windows設(shè)置打印機(jī),我們還可以通過使用.net提供的已經(jīng)封裝好的Api,來設(shè)置打印機(jī)。
1、獲取打印機(jī)列表
獲取打印機(jī)列表時,先using System.Drawing.Printing;
代碼如下:
//設(shè)置默認(rèn)打印機(jī)為列表第一個PrintDocument printDocument = new PrintDocument(); this.comboBox1.Items.Add(printDocument.PrinterSettings.PrinterName);this.comboBox1.SelectedIndex = 0;//獲取打印機(jī)列表foreach (var item in PrinterSettings.InstalledPrinters){ if (!this.comboBox1.Items.Contains(item)) this.comboBox1.Items.Add(item);}
獲取默認(rèn)打印機(jī)的時候,是通過一個PrintDocument來獲取的。大家有什么更簡便的辦法,可以在評論區(qū)討論。大家一起學(xué)習(xí)。
實際編寫過程:
2、設(shè)置默認(rèn)打印機(jī)
設(shè)置默認(rèn)打印機(jī)的時候,我們需要用到DllImport來引入打印后臺處理程序API(winspool.drv)的SetDefaultPrinter 函數(shù)。
官方文檔是這么描述的:SetDefaultPrinter 函數(shù)為本地計算機(jī)上的當(dāng)前用戶設(shè)置默認(rèn)打印機(jī)的打印機(jī)名稱。
代碼如下:
private void comboBox1_SelectedIndexChanged(object nder, EventArgs e){ bool state = SetDefaultPrinter(this.comboBox1.SelectedItem.ToString()); if (state) MessageBox.Show("設(shè)置成功!"); }[DllImport("winspool.drv")]public static extern bool SetDefaultPrinter(string Printername);
實際編寫過程:
以上方式都是小編的一點拙見,如果各位有什么更好的方法,歡迎評論區(qū)指正。小編感激不盡~
如果各位覺得我寫的對你有那么一點點幫助,可以隨手點一下關(guān)注,之后我會繼續(xù)努力的。[加油]
本文發(fā)布于:2023-02-28 21:09:00,感謝您對本站的認(rèn)可!
本文鏈接:http://m.newhan.cn/zhishi/a/1677731391105175.html
版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。
本文word下載地址:打印機(jī)后臺處理程序.doc
本文 PDF 下載地址:打印機(jī)后臺處理程序.pdf
| 留言與評論(共有 0 條評論) |