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

C#打印分頁(yè)中的HasMorePages用法

開(kāi)發(fā) 后端
C#打印分頁(yè)中的HasMorePages用法,網(wǎng)上關(guān)于打印分頁(yè)的文章已經(jīng)很多了,但大部分都沒(méi)講清楚HasMorePages這個(gè)屬性的作用到底是什么。本文借著HasMorePages的用法,來(lái)說(shuō)明C#打印分頁(yè)的具體實(shí)現(xiàn)。

對(duì)于HasMorePages,從字面上理解就是多頁(yè)打印,也就是實(shí)現(xiàn)C#打印分頁(yè)。在很多時(shí)候,由于參數(shù)設(shè)定錯(cuò)誤,很容易出現(xiàn)new PointF(10.0, 30.0)部分報(bào)錯(cuò)的現(xiàn)象。這里需要謹(jǐn)慎對(duì)待。

HasMorePages的作用很容易產(chǎn)生誤解,但也很好理解:當(dāng)PrintPage函數(shù)執(zhí)行完后,如果HasMorePages==true,則重新執(zhí)行一遍PrintPage這個(gè)函數(shù)。只要明白了這一點(diǎn),打印分頁(yè)就很簡(jiǎn)單了。

在打印時(shí),可以把打印位置保存下來(lái),以便于第二次執(zhí)行PrintPage時(shí)知道從哪開(kāi)始打印。例如,下面這段程序用來(lái)打印一個(gè)DataTable中有所有數(shù)據(jù),每頁(yè)打印一條:

C#打印分頁(yè)代碼

  1. class Print  
  2. {  
  3.     public partial class NoticePrinter : Form  
  4.     {  
  5.         PrintDialog _printDialog;  
  6.         PrintDocument _printDocument;  
  7.         DataTable _table;  
  8.         int _curRow;  
  9.    
  10.         //在執(zhí)行這個(gè)函數(shù)之前,先要把_curRow初始化為0;  
  11.         //當(dāng)HasMorePages==true時(shí),這個(gè)函數(shù)會(huì)重復(fù)執(zhí)行,直到HasMorePages==fasle為止;  
  12.         void _printDocument_PrintPage(object sender, PrintPageEventArgs e)  
  13.         {  
  14.             DataRow row;  
  15.             string name;  
  16.             string sex;  
  17.    
  18.             row = _table.Rows[_curRow];  
  19.             name = row["xm"].ToString().Trim();  
  20.             sex = row["xb"].ToString().Trim();  
  21.    
  22.             Font font = new Font("宋休", 12);  
  23.    
  24.             e.Graphics.DrawString(name, font, Brushes.Black, new PointF(10.0, 10.0));  
  25.             e.Graphics.DrawString(sex, font, Brushes.Black, new PointF(10.0, 30.0));  
  26.    
  27.             _curRow++;  
  28.             if (_curPage == _table.Rows.Count)  
  29.             {  
  30.                 e.HasMorePages = false;  
  31.             }  
  32.             else 
  33.             {  
  34.                 e.HasMorePages = true;  
  35.             }  
  36.         }  
  37.     }  

【編輯推薦】

  1. C#打印設(shè)置實(shí)現(xiàn)源碼詳解
  2. C#打印控件的使用實(shí)例淺析
  3. C#打印條碼操作的實(shí)例淺析
  4. C#打印原理解析及實(shí)例操作
  5. C#及.NET FrameWork的概念淺析
責(zé)任編輯:彭凡 來(lái)源: elmerzhang.com
相關(guān)推薦

2009-08-26 09:54:45

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

2011-07-06 10:47:52

C#using

2011-04-25 14:42:10

C#lock

2009-08-27 15:22:27

C#中的GET與SET

2024-03-19 14:18:48

C#后端編程

2011-05-23 13:27:53

2011-05-20 16:07:29

C#

2009-08-27 16:00:59

C#中using用法

2009-08-21 15:27:11

C# DataGrid

2009-08-21 09:30:05

is和as操作符

2013-06-05 10:11:20

索引器C#

2009-09-07 16:13:56

C# MessageB

2009-08-20 17:17:02

C#哈希表

2009-07-30 15:24:13

C#析構(gòu)函數(shù)C#構(gòu)造函數(shù)

2009-08-26 14:31:08

C#打印文件

2009-08-26 13:41:58

C#打印源碼

2024-12-26 00:28:59

C#base?關(guān)鍵字

2014-04-15 13:01:58

FinallyC#

2009-08-26 14:01:33

C# using用法

2009-08-26 18:13:55

C#多線(xiàn)程lock
點(diǎn)贊
收藏

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