2009-11-14 141 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,因爲它看起來像你的形式(即滾動條可見,你的大部分數據不可見)。