[英]Print All the items in a windows form in C#
我有一個獲勝表格,其中有一些label
,一個datagridview
和一些textbox
。我想以表格中顯示的確切格式在表格中打印所有項目。 我已經嘗試過使用表格,然后打印出來。 但是以這種方式我不能擁有完整的表單,因為我的表單足夠大,只顯示了表單的一半。我不知道這是不是最好的做法。還有其他方法可以這樣做嗎提到
我的示例代碼:
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#的新手,如果有人通過示例代碼為我提供幫助,那將是非常有用的幫助。
我認為您應該以頁面或文本描述語言(例如PDF或RTF)模擬表單布局。 以編程方式拍攝屏幕快照不僅優雅而且同時粗糙,並且遇到了您只能遇到的局限性。
要考慮的一件事是,是否應該首先序列化數據,例如首先以XML序列化,然后才導出為適合打印或顯示的數據格式,例如PDF或HTML。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.