http://dev.csdn.net/develop/article/43/43707.shtm
http://dev.csdn.net/develop/article/38/38695.shtm学习一下吧

解决方案 »

  1.   

    打印 DataGrid (Visual C#)
    此示例说明如何打印 DataGrid 控件。示例
    private void printGrid_Click(System.Object sender, System.EventArgs e)
    {
       printDocument1.Print();
    }
    private void printDocument1_PrintPage(System.Object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
       PaintEventArgs myPaintArgs = new PaintEventArgs(e.Graphics, new Rectangle(new Point(0, 0), this.Size));
       this.InvokePaint(dataGrid1, myPaintArgs);
    }
    编译代码
    本示例需要: 名为 printGrid 且含有 Click 事件处理程序的按钮控件。 
    名为 dataGrid1 的 DataGrid 控件。 
    名为 printDocument1 且包含 PrintPage 事件处理程序的 PrintDocument 组件。 
    可靠编程
    以下情况可能会导致异常: 您没有访问该打印机的权限。 
    没有安装打印机。 
    安全性
    为了运行此示例,您必须具有访问打印机的权限。