2009-11-14 145 views

回答

1

可以使用PrintDocument类的组合做到这一点,你DataGridViewDrawToBitmap(...)方法:

using System.Drawing.Printing; 
private void Form1_Load(object sender, EventArgs e) 
{ 
    PrintDocument printer = new PrintDocument(); 
    printer.PrintPage += printer_PrintPage; 
    printer.Print(); 
} 
void printer_PrintPage(object sender, PrintPageEventArgs e) 
{ 
    using (Bitmap bmp = new Bitmap(dataGridView1.Width, 
     dataGridView1.Height)) 
    { 
     dataGridView1.DrawToBitmap(bmp, 
      new Rectangle(0, 0, bmp.Width, bmp.Height)); 
     e.Graphics.DrawImage(bmp, 0, 0); 
    } 
    e.HasMorePages = false; 
} 

这可能不是完全符合你的需求,但是,因为这会打印DataGridView,因为它看起来像你的形式(即滚动条可见,你的大部分数据不可见)。