2024年6月14日发(作者:)
using System;
using c;
using ;
using ;
using ;
using ng;
using g;
using ;
/* 打印程序的一半步骤是:1、在开始打印前(BeginPrint事件中)初始化所有的打印参数
* 2、在启动打印时(PrintPage事件中)绘制打印区域的内容
*/
namespace _BLL
{
class Printer_BLL
{
private DataTable theDGV; //用于接收包含打印内容的数据表
private string printTitle; //打印标题内容
private List
private List
private int totalWidth; //计算打印区域的总宽度;
private int RowHeaderHeight; //列标题的宽度
private int RowsHeight; //存储行高
private int pageNO; //当前打印页的序号
private int rowPoint; //当前打印行的序号
private bool newPage; //是否打印新页的标识
private int PageWidth;
private int PageHeight;
private int LeftMargin;
private int TopMargin;
private int RightMargin;
private int BottomMargin;
private StringFormat TitleFormat; //标题打印对齐格式
private StringFormat CellFormat; //表格打印对齐格式
private PrintDocument myDocument; //向打印机发送的输出对象
private Font theTitleFont; //标题字体
private Font printFont; //表格字体
public Printer_BLL(PrintDocument document, DataTable DGV, string
title,Font titleFont,Font printFont)
{
= DGV;
itle = title;
leFont = titleFont;
ont = printFont;
ment = document;
AtMargins = true;//指定绘图操作从页边距内开始算起
ColumnsWidth = new List
ColumnsLeft = new List
}
//计算打印参数。包括预打印表格的原始宽度,打印高度宽度
public void print_Calculate(Graphics g)
{
totalWidth =0;
SizeF tmpSize = new SizeF();
float tmpWidth;
//(ng());
for (int i = 0; i < ; i++)
{
tmpSize = eString(s[i].ColumnName,
printFont);
tmpWidth = ;
RowHeaderHeight = (int) + 12;
for (int j = 0; j < ; j++)
{
tmpSize = eString("所有", printFont);
RowsHeight = (int) + 8; //获取行的
高度
tmpSize = eString([j][i].ToString(),
printFont);
if ( > tmpWidth)
{
tmpWidth = ;
}


发布评论