日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#打印控件的使用實(shí)例淺析

C#打印控件的使用是如何的呢?我們在編寫C#打印控件實(shí)用程序的時(shí)候怎么操作呢?首先弄一個(gè)printDocument控件,然后在打印的按鈕中直接調(diào)用printDocument1.print()事件. 再次就是寫printDocument的PrintPag事件了. 下面C#打印控件的使用具體實(shí)例:

成都創(chuàng)新互聯(lián)公司專注于中牟企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站制作。中牟網(wǎng)站建設(shè)公司,為中牟等地區(qū)提供建站服務(wù)。全流程按需開發(fā)網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

 
 
 
  1. //C#打印控件的使用實(shí)例  
  2. private void button1_Click(object sender, EventArgs e)  
  3.  
  4. {  
  5.  
  6.  printDocument1.Print();  
  7.  
  8. }  
  9.  
  10. private void printDocument1_PrintPage(object sender,   
  11. System.Drawing.Printing.PrintPageEventArgs e)  
  12.  
  13. {  
  14.  
  15. Font tabelTextFont = new Font("宋體", 10);  
  16.  
  17. if (dataGridView1.DataBindings != null)  
  18.  
  19. {  
  20.  
  21. int[] columnsWidth =   
  22. new int[dataGridView1.Columns.Count];  
  23. //C#打印控件的使用之得到所有列的個(gè)數(shù)  
  24.  
  25. int[] columnsLeft=new int[dataGridView1.Columns.Count];   
  26. //for (int c = 0; c < columnsWidth.Length; c++)  
  27. //C#打印控件的使用之得到列標(biāo)題的寬度  
  28.  
  29. {  
  30.  
  31. columnsWidth[c] = (int)e.Graphics.MeasureString(  
  32. dataGridView1.Columns[c].HeaderText , tabelTextFont).Width;  
  33.  
  34. }  
  35.  
  36. for (int rowIndex = 0;   
  37. rowIndex < dataGridView1.Rows.Count; rowIndex++)  
  38. //C#打印控件的使用之rowindex當(dāng)前行  
  39.  
  40. {  
  41.  
  42. for (int columnIndex = 0;   
  43. columnIndex < dataGridView1.Columns.Count; columnIndex++)  
  44. //C#打印控件的使用之當(dāng)前列  
  45.  
  46.  {  
  47.  
  48.  int w = (int)e.Graphics.MeasureString(  
  49. dataGridView1.Columns[columnIndex].Name ,   
  50. tabelTextFont).Width; columnsWidth[columnIndex] =   
  51. w > columnsWidth[columnIndex] ? w : columnsWidth[columnIndex];  
  52.  
  53. }  
  54.  
  55.  }//C#打印控件的使用  
  56.  
  57. int rowHidth = 20;  
  58.  
  59. int tableLeft=60;  
  60.  
  61. int tableTop=70;  
  62.  
  63. columnsLeft[0]=tableLeft;  
  64.  
  65. for (int i=1;i<=columnsWidth.Length -1;i++)  
  66.  
  67. {  
  68.  
  69. columnsLeft[i] = columnsLeft[i - 1] + columnsWidth[i - 1]+15;  
  70.  
  71. }  
  72.  
  73. StringFormat sf=new StringFormat ();  
  74.  
  75. sf.Alignment=StringAlignment.Center ;//居中打印  
  76.  
  77. e.Graphics.DrawString("歡迎石印死了開的交流!",   
  78. new Font("宋體", 15), Brushes.Black, new Point(  
  79. e.PageBounds.Width / 2, 20),sf );//打印標(biāo)題  
  80.  
  81. for (int c = 0; c < columnsWidth.Length; c++)  
  82. //打印表中的列名  
  83.  
  84. {  
  85.  
  86. e.Graphics.DrawString(dataGridView1.Columns[c].HeaderText,  
  87. new Font ("宋體",10,FontStyle.Bold),   
  88. Brushes.Black, new Point(columnsLeft[c], tableTop));  
  89.  e.Graphics.DrawLine(Pens.Black,  
  90.  new Point(columnsLeft[c]-5, tableTop - 5),   
  91. new Point(columnsLeft[c]-5, tableTop +  
  92.  (dataGridView1 .Rows .Count+1)*rowHidth));  
  93.  
  94. }//C#打印控件的使用  
  95.  
  96. e.Graphics.DrawLine(Pens.Black,   
  97. new Point(columnsLeft[dataGridView1.Columns.Count - 1] +   
  98. columnsWidth[dataGridView1.Columns.Count - 1],   
  99. tableTop - 5), new Point(columnsLeft[dataGridView1.Columns.Count - 1] +   
  100. columnsWidth[dataGridView1.Columns.Count - 1],   
  101. tableTop + (dataGridView1.Rows.Count + 1) * rowHidth));  
  102. //畫***面的線  
  103.  
  104. e.Graphics.DrawLine(Pens.Black, new Point(columnsLeft[0] - 5,   
  105. tableTop - 5), new Point(columnsLeft[dataGridView1.Columns.Count - 1] +  
  106.  columnsWidth[dataGridView1.Columns.Count - 1], tableTop - 5));   
  107. for (int rowIndex = 0;   
  108. rowIndex < dataGridView1.Rows.Count; rowIndex++)//打印表中的內(nèi)容  
  109.  
  110. {  
  111.  
  112. for (int columnIndex = 0;   
  113. columnIndex < dataGridView1.Columns.Count; columnIndex++)  
  114.  
  115. {  
  116.  
  117.  e.Graphics.DrawString(  
  118. dataGridView1.Rows[rowIndex].Cells[columnIndex].Value.ToString(),   
  119. tabelTextFont, Brushes.Black, new Point(columnsLeft[columnIndex],   
  120. tableTop + rowHidth * (rowIndex + 1)));  
  121.  
  122. }  
  123.  
  124.  e.Graphics.DrawLine(Pens.Black,   
  125. new Point(columnsLeft[0]-5,   
  126. tableTop + (rowIndex +1) * rowHidth-5),   
  127. new Point(columnsLeft[dataGridView1.Columns.Count - 1] +   
  128. columnsWidth[dataGridView1.Columns.Count - 1], tableTop +   
  129. (rowIndex +1)*rowHidth-5));//循環(huán)畫行  
  130.  
  131. }  
  132. //C#打印控件的使用之  
  133. }  

另外要是想有打印預(yù)覽的話,那就還要一個(gè)printPreviewDialog控件了。要把該控件的document事件和PrintDocument關(guān)聯(lián)起來,就可以了。

C#打印控件的使用的實(shí)例應(yīng)用就向你介紹到這里,希望對你了解和學(xué)習(xí)C#打印控件的使用有所幫助。

【編輯推薦】

  1. 實(shí)現(xiàn)C#打印文檔實(shí)例詳解
  2. C#打印文本文件實(shí)例詳解
  3. C#打印設(shè)置實(shí)例解析
  4. C#Lpt端口打印類的操作淺析
  5. C#打印設(shè)置實(shí)現(xiàn)源碼詳解

分享名稱:C#打印控件的使用實(shí)例淺析
URL地址:http://m.5511xx.com/article/cdjicoe.html