代码之家  ›  专栏  ›  技术社区  ›  patrick

如何将Winforms DataGrid打印到纸上?

  •  1
  • patrick  · 技术社区  · 16 年前

    我如何打印系统.Windows.Forms.DataGrid到纸张? 我正在C中使用.NET3.5框架#

    1 回复  |  直到 16 年前
        1
  •  4
  •   Justin Niessner    16 年前

    下面是一个使用 System.Drawing.Printing.PrintDocument 类(不完整,但演示如何将所有内容连接在一起):

    public class MyForm : Form
    {
        DataGrid dataGrid1 = new DataGrid();
        Button printGrid = new Button();
        PrintDocument printDocument1 = new PrintDocument();
    
        public MyForm()
        {
            printGrid.Click += new EventHandler(printGrid_Click);
            printDocument1.PrintPage +=
                new PrintPageEventHandler(printDocument1_PrintPage);
        }
    
        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);
        }
    }
    
    推荐文章