我有一個勝利表格,其中有一些label
,datagridview
和一些textbox
。我想以表格中顯示的確切格式打印我的所有項目。我已經嘗試使用捕捉我的窗體然後打印它。但是這樣,我的表格足夠大,我的表格不夠完整,它只顯示了我表格的一半。我不知道這是不是最好的做法。請問有沒有其他方式可以做到這一點?何況在C#中打印窗口中的所有項目#
我的示例代碼:
private void btnPrint_Click(object sender, EventArgs e)
{
CaptureScreen();
printDocument1.Print();
}
private void CaptureScreen()
{
Graphics myGraphics = this.CreateGraphics();
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);
}
private void printDocument1_PrintPage_1(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 0, 0);
}
,因爲我在C#中新,這將是很大的幫助,如果任何人能幫助我一些示例代碼。
你也可以找到http://stackoverflow.com/questions/6623237/capture-a-form-to-image有趣的描述'cntrl.DrawToBitmap()'。 –
對不起,我找不到任何幫助@PeterSchneider – Bashar