日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#打印控件的使用实例

發布時間:2025/3/21 C# 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#打印控件的使用实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

  • //C#打印控件的使用實例
  • privatevoid button1_Click(object sender, EventArgs e)
  • {
  • printDocument1.Print();
  • }
  • privatevoid printDocument1_PrintPage(object sender,
  • System.Drawing.Printing.PrintPageEventArgs e)
  • {
  • Font tabelTextFont = new Font("宋體", 10);
  • if (dataGridView1.DataBindings != null)
  • {
  • int[] columnsWidth =
  • newint[dataGridView1.Columns.Count];
  • //C#打印控件的使用之得到所有列的個數
  • int[] columnsLeft=newint[dataGridView1.Columns.Count];
  • //for (int c = 0; c < columnsWidth.Length; c++)
  • //C#打印控件的使用之得到列標題的寬度
  • {
  • columnsWidth[c] = (int)e.Graphics.MeasureString(
  • dataGridView1.Columns[c].HeaderText , tabelTextFont).Width;
  • }
  • for (int rowIndex = 0;
  • rowIndex < dataGridView1.Rows.Count; rowIndex++)
  • //C#打印控件的使用之rowindex當前行
  • {
  • for (int columnIndex = 0;
  • columnIndex < dataGridView1.Columns.Count; columnIndex++)
  • //C#打印控件的使用之當前列
  • {
  • int w = (int)e.Graphics.MeasureString(
  • dataGridView1.Columns[columnIndex].Name ,
  • tabelTextFont).Width; columnsWidth[columnIndex] =
  • w > columnsWidth[columnIndex] ? w : columnsWidth[columnIndex];
  • }
  • }//C#打印控件的使用
  • int rowHidth = 20;
  • int tableLeft=60;
  • int tableTop=70;
  • columnsLeft[0]=tableLeft;
  • for (int i=1;i<=columnsWidth.Length -1;i++)
  • {
  • columnsLeft[i] = columnsLeft[i - 1] + columnsWidth[i - 1]+15;
  • }
  • StringFormat sf=new StringFormat ();
  • sf.Alignment=StringAlignment.Center ;//居中打印
  • e.Graphics.DrawString("歡迎石印死了開的交流!",
  • new Font("宋體", 15), Brushes.Black, new Point(
  • e.PageBounds.Width / 2, 20),sf );//打印標題
  • for (int c = 0; c < columnsWidth.Length; c++)
  • //打印表中的列名
  • {
  • e.Graphics.DrawString(dataGridView1.Columns[c].HeaderText,
  • new Font ("宋體",10,FontStyle.Bold),
  • Brushes.Black, new Point(columnsLeft[c], tableTop));
  • e.Graphics.DrawLine(Pens.Black,
  • new Point(columnsLeft[c]-5, tableTop - 5),
  • new Point(columnsLeft[c]-5, tableTop +
  • (dataGridView1 .Rows .Count+1)*rowHidth));
  • }//C#打印控件的使用
  • e.Graphics.DrawLine(Pens.Black,
  • new Point(columnsLeft[dataGridView1.Columns.Count - 1] +
  • columnsWidth[dataGridView1.Columns.Count - 1],
  • tableTop - 5), new Point(columnsLeft[dataGridView1.Columns.Count - 1] +
  • columnsWidth[dataGridView1.Columns.Count - 1],
  • tableTop + (dataGridView1.Rows.Count + 1) * rowHidth));
  • //畫最后面的線
  • e.Graphics.DrawLine(Pens.Black, new Point(columnsLeft[0] - 5,
  • tableTop - 5), new Point(columnsLeft[dataGridView1.Columns.Count - 1] +
  • columnsWidth[dataGridView1.Columns.Count - 1], tableTop - 5));
  • for (int rowIndex = 0;
  • rowIndex < dataGridView1.Rows.Count; rowIndex++)//打印表中的內容
  • {
  • for (int columnIndex = 0;
  • columnIndex < dataGridView1.Columns.Count; columnIndex++)
  • {
  • e.Graphics.DrawString(
  • dataGridView1.Rows[rowIndex].Cells[columnIndex].Value.ToString(),
  • tabelTextFont, Brushes.Black, new Point(columnsLeft[columnIndex],
  • tableTop + rowHidth * (rowIndex + 1)));
  • }
  • e.Graphics.DrawLine(Pens.Black,
  • new Point(columnsLeft[0]-5,
  • tableTop + (rowIndex +1) * rowHidth-5),
  • new Point(columnsLeft[dataGridView1.Columns.Count - 1] +
  • columnsWidth[dataGridView1.Columns.Count - 1], tableTop +
  • (rowIndex +1)*rowHidth-5));//循環畫行
  • }
  • //C#打印控件的使用之
  • }
  • 另外要是想有打印預覽的話,那就還要一個printPreviewDialog控件了。要把該控件的document事件和PrintDocument關聯起來,就OK

    總結

    以上是生活随笔為你收集整理的C#打印控件的使用实例的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。