自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#打印控件

開發(fā) 后端
本文主要介紹了C#中的打印控件,PrintDialog、PageSetupDialog、PrintDocument、PrintPeviewControl、PrintPreviewDialog,一起來看。

WinForm中的打印可通過使用.Net提供的打印類完成,也可以使用C#提供的支持打印的控件。

打印控件默認(rèn)放在工具箱的“打印”項(xiàng)中,共有5個(gè)組件共同完成打印功能,包括PrintDialog、PageSetupDialog、PrintDocument、PrintPeviewControl、PrintPreviewDialog。

1、PrintDocument

PrintDocument是主要打印控件,打印時(shí)必須添加,它是對PrintDocument類的實(shí)現(xiàn),通過它的PrintPage事件可以設(shè)置打印內(nèi)容。

2、PrintDialog

PrintDialog提供打印機(jī)設(shè)置對話框,具有Document屬性和ShowDialog方法,將其Document屬性設(shè)置為PrintDocument對象即可。

3、PageSetupDialog

PageSetupDialog控件提供頁面設(shè)置對話框,常用的頁面設(shè)置元素有紙張、方向和頁邊距。

4、PrintPreviewDialog

PrintPreviewDialog提供標(biāo)準(zhǔn)的打印預(yù)覽對話框,用于顯示文檔的打印效果。該控件包含用于打印、放大、顯示一頁或多頁的按鈕。該控件的關(guān)鍵屬性Document與PrintDialog控件的相同,用于設(shè)置要預(yù)覽的文檔,此文檔必須是PrintDocument對象。

5、PrintPreviewControl

PrintPreviewControl幫助定制打印預(yù)覽對話框,可以顯示文檔的打印效果,沒有按鈕和其他用戶界面元素。該控件常用于打印預(yù)覽用戶界面,而PrintPreviewDialog控件用于標(biāo)準(zhǔn)用戶界面。

使用打印控件的步驟如下:

(1)編寫打印邏輯步驟處理PrintDocument的一些事件。

調(diào)用其Print()方法時(shí),將依據(jù)下面的排列順序,依次觸發(fā)。

BeginPrint

PrintPage

EndPrint

(2)選擇打印機(jī)。

在打印對話框(PrintDialog)中選擇打印機(jī)。必須使用PrintDocument控件將其傳遞到打印機(jī)的PrintDialog控件中。

(3)選擇頁面設(shè)置。

用戶選擇了打印機(jī),準(zhǔn)備打印時(shí),允許用戶選擇頁面設(shè)置。創(chuàng)建一個(gè)PageSetupDialog控件,并將PageSettings實(shí)例傳遞到該控件中,使用戶可以操縱頁面設(shè)置。

(4)顯示打印預(yù)覽窗口。

添加PrintPreviewDialog控件,將PrintDocument控件傳遞給PrintPreview的Document屬性。

打印控件用例

我們用上節(jié)的項(xiàng)目完成打印功能,在窗體中添加PrintDocument、PrintPreviewDialog、PrintDialog控件,分別編寫“打印組件使用示例”

 

 

  1. private void 打印PToolStripMenuItem_Click(object sender, EventArgs e)  
  2. {  
  3. this.printDialog1.Document = this.printDocument1;  
  4. if (this.printDialog1.ShowDialog() == DialogResult.OK)  
  5. {  
  6. try 
  7. {  
  8. this.printDocument1.Print();  
  9. }  
  10. catch (Exception ex)  
  11. {  
  12. MessageBox.Show(ex.Message,"打印出錯(cuò)");  
  13. }  
  14. }  
  15. }  
  16. private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)  
  17. {  
  18. Graphics g = e.Graphics;  
  19. string[] str = this.richTextBox1.Text.Split('\n');  
  20. int i=0;  
  21. foreach (string s in str)  
  22. {  
  23. g.DrawString(str[i], this.fontDialog1.Font, new SolidBrush(this.richTextBox1.ForeColor),new PointF(100,80+this.richTextBox1.Font.Height*i));  
  24. i++;  
  25. }  
  26. }  
  27. private void 打印預(yù)覽VToolStripMenuItem_Click(object sender, EventArgs e)  
  28. {  
  29. this.printPreviewDialog1.Document = this.printDocument1;  
  30. try 
  31. {  
  32. this.printPreviewDialog1.ShowDialog();  
  33. }  
  34. catch (Exception ex)  
  35. {  
  36. MessageBox.Show(ex.Message, "打印出錯(cuò)");  
  37. }  

通過本文的介紹,關(guān)于C#中的打印控件,你肯定有了一定的了解。希望對你有幫助。

【編輯推薦】

  1. 關(guān)于C#代碼規(guī)范的兩點(diǎn)疑惑
  2. 1.2.5 C++和C#不得不說的那點(diǎn)事兒
  3. 用C#實(shí)現(xiàn)HTTP協(xié)議下的多線程文件傳輸
  4. C#基礎(chǔ)概念之事件
  5. 利用C#實(shí)現(xiàn)任務(wù)欄通知窗口
責(zé)任編輯:于鐵 來源: 百度空間
相關(guān)推薦

2009-08-26 13:36:33

C#打印控件

2009-08-26 09:54:45

C#打印預(yù)覽C#打印

2009-08-11 14:45:41

C# DataGrid

2009-08-18 17:41:22

C# ListView

2009-08-19 11:21:02

C# ListBox控

2009-08-24 11:23:41

C# TimeLabe

2009-08-14 14:19:50

Enhanced LiC#構(gòu)建

2009-08-24 18:21:23

C# ListView

2009-08-24 10:10:09

C#復(fù)合控件

2009-08-19 15:30:40

C#復(fù)合控件構(gòu)建

2009-08-12 10:35:50

C#調(diào)用ActiveX

2009-08-06 16:58:40

C#編寫ActiveX

2009-09-04 17:58:38

C# Web Brow

2009-08-21 15:27:11

C# DataGrid

2009-08-21 17:55:52

C#復(fù)合控件

2009-08-28 15:05:35

C#編寫Calenda

2009-08-26 12:14:44

C#打印設(shè)置

2009-08-11 15:46:15

C#日歷控件

2009-08-11 10:12:21

2009-08-27 14:32:15

C#編寫ActiveX
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號