您好,登錄后才能下訂單哦!
本篇內容主要講解“C#打印控件的使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#打印控件的使用”吧!
WinForm中的打印可通過使用.Net提供的打印類完成,也可以使用C#提供的支持打印的控件。
打印控件默認放在工具箱的“打印”項中,共有5個組件共同完成打印功能,包括PrintDialog、PageSetupDialog、PrintDocument、PrintPeviewControl、PrintPreviewDialog。
1、PrintDocument
PrintDocument是主要打印控件,打印時必須添加,它是對PrintDocument類的實現,通過它的PrintPage事件可以設置打印內容。
2、PrintDialog
PrintDialog提供打印機設置對話框,具有Document屬性和ShowDialog方法,將其Document屬性設置為PrintDocument對象即可。
3、PageSetupDialog
PageSetupDialog控件提供頁面設置對話框,常用的頁面設置元素有紙張、方向和頁邊距。
4、PrintPreviewDialog
PrintPreviewDialog提供標準的打印預覽對話框,用于顯示文檔的打印效果。該控件包含用于打印、放大、顯示一頁或多頁的按鈕。該控件的關鍵屬性Document與PrintDialog控件的相同,用于設置要預覽的文檔,此文檔必須是PrintDocument對象。
5、PrintPreviewControl
PrintPreviewControl幫助定制打印預覽對話框,可以顯示文檔的打印效果,沒有按鈕和其他用戶界面元素。該控件常用于打印預覽用戶界面,而PrintPreviewDialog控件用于標準用戶界面。
使用打印控件的步驟如下:
(1)編寫打印邏輯步驟處理PrintDocument的一些事件。
調用其Print()方法時,將依據下面的排列順序,依次觸發。
BeginPrint
PrintPage
EndPrint
(2)選擇打印機。
在打印對話框(PrintDialog)中選擇打印機。必須使用PrintDocument控件將其傳遞到打印機的PrintDialog控件中。
(3)選擇頁面設置。
用戶選擇了打印機,準備打印時,允許用戶選擇頁面設置。創建一個PageSetupDialog控件,并將PageSettings實例傳遞到該控件中,使用戶可以操縱頁面設置。
(4)顯示打印預覽窗口。
添加PrintPreviewDialog控件,將PrintDocument控件傳遞給PrintPreview的Document屬性。
我們用上節的項目完成打印功能,在窗體中添加PrintDocument、PrintPreviewDialog、PrintDialog控件,分別編寫“打印組件使用示例”
private void 打印PToolStripMenuItem_Click(object sender, EventArgs e) { this.printDialog1.Document = this.printDocument1; if (this.printDialog1.ShowDialog() == DialogResult.OK) { try { this.printDocument1.Print(); } catch (Exception ex) { MessageBox.Show(ex.Message,"打印出錯"); } } } private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { Graphics g = e.Graphics; string[] str = this.richTextBox1.Text.Split('\n'); int i=0; foreach (string s in str) { g.DrawString(str[i], this.fontDialog1.Font, new SolidBrush(this.richTextBox1.ForeColor),new PointF(100,80+this.richTextBox1.Font.Height*i)); i++; } } private void 打印預覽VToolStripMenuItem_Click(object sender, EventArgs e) { this.printPreviewDialog1.Document = this.printDocument1; try { this.printPreviewDialog1.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.Message, "打印出錯"); } }
到此,相信大家對“C#打印控件的使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。