我在有dataGrid的窗体上放了printDocument1,printDialog1,printPreviewDialog1,而且我的printDialog1,printPreviewDialog1的Ducument的属性都设置为printDocument1,但点击预览按钮代码如下:printPreviewDialog1.ShowDialog();并没有我想要的dataGrid里面的内容,怎么回事?我想如果我点击打印按钮写代码:printDocument1.print()也没有用的?怎么回事?谢谢大家,最好有代码。

解决方案 »

  1.   

    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 组件。