公司要做一个打印发票的小程序在网上找了半天都没找出法子看到一些例子程序,感觉都不详细
比如printDocument_PrintPage(object sender, PrintPageEventArgs e)
FileMenuItem_PrintView_Click(object sender, EventArgs e)
FileMenuItem_Print_Click(object sender, EventArgs e)
等到这些事件都是怎么调用的啊?
在页面上面都用的什么控件?
怎么才能控制打印机按我们的要求打印才好呢?
比如printDocument_PrintPage(object sender, PrintPageEventArgs e)
FileMenuItem_PrintView_Click(object sender, EventArgs e)
FileMenuItem_Print_Click(object sender, EventArgs e)
等到这些事件都是怎么调用的啊?
在页面上面都用的什么控件?
怎么才能控制打印机按我们的要求打印才好呢?
http://topic.csdn.net/u/20090811/16/429f6dc6-7517-48b9-9e6a-8aaf0c6e2d52.html
看一下这个DEMO,做好模版就可以实现不同样式的打印
this.Cursor = Cursors.WaitCursor;
CsReport.CS012CLS report = new LMS.CsReport.CS012CLS();
report.Viewer = false;
report.ZoomLevel = 100;
report.FormWindowState = FormWindowState.Maximized;
report.SetDataSource(print_dt);
//report.Publish();
report.PublishSaleBills(billsnum);2、//打印小票
public void PublishSaleBills(int num)
{
try
{
for (int i = 0; i < _ParameterName.Count; i++)
{
_oRpt.SetParameterValue(_ParameterName[i].ToString(), _ParameterValue[i]);
}
}
catch
{
} _oRpt.RecordSelectionFormula = _RecordSelectionFormula; if (_Viewer)
{
ComCrystalReport.ReportToViewer(_oRpt, _wstate, _zoomlevel);
}
else
{
_copies = num;
ComCrystalReport.PrintToPrinter(_oRpt, _copies, _prtDialog);
}
}
3、
#region PrintToPrinter 水晶报表输出到打印机
/// <summary>
/// 水晶报表输出到打印机
/// </summary>
/// <param name="rpt">水晶报表</param>
/// <param name="nCopies">部数</param>
/// <param name="prtDialog">打印对话框表示</param>
public static void PrintToPrinter(object rpt, int nCopies, bool prtDialog)
{
ReportClass oRpt = (ReportClass)rpt; //水晶报表数据库连接 ApplyLogOnInfo(oRpt); if (prtDialog)
{
//对话框表示 PrintDialog dialog = new PrintDialog();
System.Drawing.Printing.PrinterSettings prt = new System.Drawing.Printing.PrinterSettings(); dialog.PrinterSettings = prt;
dialog.AllowSomePages = true;
dialog.PrinterSettings.FromPage = 1;
//dialog.PrinterSettings.Copies = 2;
dialog.PrinterSettings.ToPage = 9999;
DialogResult dRet = dialog.ShowDialog(); if (dRet == DialogResult.OK)
{
//OK开始印刷
oRpt.PrintOptions.PrinterName = dialog.PrinterSettings.PrinterName;
oRpt.PrintToPrinter(dialog.PrinterSettings.Copies, true, dialog.PrinterSettings.FromPage, dialog.PrinterSettings.ToPage);
} return;
}
//没有指定打印机的时候,用默认打印机输出
oRpt.PrintToPrinter(nCopies, true, 0, 0); }
#endregion