C#使用printform组件打印长高度表单

C#使用printform组件打印长高度表单,c#,C#,如何打印高度大于屏幕高度的表单 (表单有垂直滚动)?PrintForm仅支持打印屏幕上显示内容的精确副本。打印输出也会有一个可见的滚动条。当然,也不会显示滚动出视图的控件 有一个很好的解决方法,使用PrintDocument组件。打印出来的效果也会更好,而不是打印出来的颗粒状位图。但是,您必须自己编写PrintPage事件处理程序的代码。相当多的代码,但不是硬代码。使用PrintPreviewDialog,这样就不会浪费一棵树来调试和微调代码。@bin-我想每个人都有自己的想法。像CR和RDLC

如何打印高度大于屏幕高度的表单
(表单有垂直滚动)?

PrintForm仅支持打印屏幕上显示内容的精确副本。打印输出也会有一个可见的滚动条。当然,也不会显示滚动出视图的控件


有一个很好的解决方法,使用PrintDocument组件。打印出来的效果也会更好,而不是打印出来的颗粒状位图。但是,您必须自己编写PrintPage事件处理程序的代码。相当多的代码,但不是硬代码。使用PrintPreviewDialog,这样就不会浪费一棵树来调试和微调代码。

@bin-我想每个人都有自己的想法。像CR和RDLC这样的工具对我来说就像Lisp。完成这个项目,并承诺永远不再这样做。无论如何,它们都不适合作为打印格式的替代品。很适合在纸面上转储dbase查询,不适合在基于表单的报表中重复任何内容。InfoPath更适合。也许吧。仅仅打印表单很少是一个好的解决方案。总是有带有滚动条的控件,没有人会对发送到打印机的截断文本感到满意。因此,要么编写更多实际形式的代码,以便在没有任何可视化设计器帮助的情况下实现打印,要么使用报告工具。有时候,如果你用老式的单间隔打印,你可以侥幸逃脱,但这也可能不太好。。。