[英]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.