http://www.codeproject.com/csharp/#Printing

解决方案 »

  1.   

    Printdialog
    用这个控件,我做过打印文档和图片,基本上没有什么问题。
      

  2.   

    winform有打印的控件呀,自己看看msdn中相关的用法,挺简单的。
      

  3.   

    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数据里面的一部分,主要用到的几个类都显示出来了
      

  4.   

    如果是水晶报表,参考:
    http://blog.csdn.net/haibodotnet/category/13322.aspx?Show=All
    有很多实例让你慢慢学习
      

  5.   

    给你个最简单的例子参考一下:
    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;
    }
    }
      

  6.   

    一般使用GDI+即可打印出你想要的任何效果。多参考一下MSDN中的System.Drawing.Graphics类。
      

  7.   

    用Printdialog 好像打印不出表格吧 ..
      

  8.   

    给个网页吧,收藏后还没看过
    http://www.vbaccelerator.com/home/NET/Code/Libraries/Windows/MDI_Client_Area_Painting/article.asp