哪为大虾做过WinForm打印的程序,能否给小弟指点下迷津? http://www.codeproject.com/csharp/#Printing 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Printdialog用这个控件,我做过打印文档和图片,基本上没有什么问题。 winform有打印的控件呀,自己看看msdn中相关的用法,挺简单的。 private DataGrid dataGrid1; // 网格private PrintDocument printDocument1;// 定义一个可再次使用的对象,该对象将输出发送到打印机private PageSetupDialog pageSetupDialog1;// 表示一个对话框,它允许用户对页面进行设置,包括边距和纸张的方向private PrintPreviewDialog printPreviewDialog1;// 打印预览类--------{ pageSetupDialog1 = new PageSetupDialog(); pageSetupDialog1.Document = printDocument1; pageSetupDialog1.ShowDialog(); // 实例化打印预览窗口 printPreviewDialog1 = new PrintPreviewDialog(); printPreviewDialog1.Document = printDocument1; printPreviewDialog1.Height = 600; printPreviewDialog1.Width = 800; printPreviewDialog1.ShowDialog(); } catch(Exception e) { throw new Exception("Printer error." + e.Message); } ---------这是一个打印DATAGRID数据里面的一部分,主要用到的几个类都显示出来了 如果是水晶报表,参考:http://blog.csdn.net/haibodotnet/category/13322.aspx?Show=All有很多实例让你慢慢学习 给你个最简单的例子参考一下:protected override void OnClick(EventArgs e){ base.OnClick(e); PrintPreviewDialog d = new PrintPreviewDialog(); d.Document = new System.Drawing.Printing.PrintDocument(); d.Document.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(Document_PrintPage); d.ShowDialog(this);}int PageIndex = 0;void Document_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e){ StringFormat format = new StringFormat(); format.LineAlignment = StringAlignment.Center; format.Alignment = StringAlignment.Center; e.Graphics.DrawString(string.Format("正在打印第{0}页", PageIndex), this.Font, SystemBrushes.ControlText, e.PageBounds, format); PageIndex++; if (PageIndex < 10) { e.HasMorePages = true; } else { e.HasMorePages = false; }} 一般使用GDI+即可打印出你想要的任何效果。多参考一下MSDN中的System.Drawing.Graphics类。 用Printdialog 好像打印不出表格吧 .. 给个网页吧,收藏后还没看过http://www.vbaccelerator.com/home/NET/Code/Libraries/Windows/MDI_Client_Area_Painting/article.asp C#如何获得鼠标在屏幕上的位置绝对坐标x,y 通过RFC往SAP里导入数据问题。急急急!!!O(∩_∩)O谢谢!!! 用HttpWebRequest 访问的时候出现Forbidden 的问题,各位大虾帮帮忙,急啊 一个抓取网页图片(有防盗链的)的问题 C# WinForm中水晶报表使用多打印机打印問題 FTP的问题 求ASP.NET安装文件下载地址? 请教:如何将水晶报表的报表设计器嵌入到自己的程序中? 在线等!dataGrid删除行的问题!解决问题给分! c#。如何设置一个button关闭线程工作 如何设置PropertyGrid中的属性为必填项 急!高手进来看看,动态连接库问题!
用这个控件,我做过打印文档和图片,基本上没有什么问题。
private PrintDocument printDocument1;// 定义一个可再次使用的对象,该对象将输出发送到打印机
private PageSetupDialog pageSetupDialog1;// 表示一个对话框,它允许用户对页面进行设置,包括边距和纸张的方向
private PrintPreviewDialog printPreviewDialog1;// 打印预览类
--------
{
pageSetupDialog1 = new PageSetupDialog();
pageSetupDialog1.Document = printDocument1;
pageSetupDialog1.ShowDialog(); // 实例化打印预览窗口
printPreviewDialog1 = new PrintPreviewDialog();
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.Height = 600;
printPreviewDialog1.Width = 800;
printPreviewDialog1.ShowDialog();
}
catch(Exception e)
{
throw new Exception("Printer error." + e.Message);
}
---------
这是一个打印DATAGRID数据里面的一部分,主要用到的几个类都显示出来了
http://blog.csdn.net/haibodotnet/category/13322.aspx?Show=All
有很多实例让你慢慢学习
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
PrintPreviewDialog d = new PrintPreviewDialog();
d.Document = new System.Drawing.Printing.PrintDocument();
d.Document.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(Document_PrintPage);
d.ShowDialog(this);
}
int PageIndex = 0;
void Document_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
StringFormat format = new StringFormat();
format.LineAlignment = StringAlignment.Center;
format.Alignment = StringAlignment.Center;
e.Graphics.DrawString(string.Format("正在打印第{0}页", PageIndex), this.Font, SystemBrushes.ControlText, e.PageBounds, format);
PageIndex++;
if (PageIndex < 10)
{
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
}
}
http://www.vbaccelerator.com/home/NET/Code/Libraries/Windows/MDI_Client_Area_Painting/article.asp