【问题标题】:Useful Form Printing有用的表格打印
【发布时间】:2011-03-03 10:02:36
【问题描述】:

我正在寻找在我的 WindowsForm 应用程序中打印整个表单/几个 Datagridviews 和一些特定控件内容的最佳方式。

我知道互联网上到处都是坏的和好的例子。

很难区分好例子和坏例子。

那你有什么推荐给我的?

你的方法是什么?网络中的哪些示例有用?

提前致谢

【问题讨论】:

  • 打印表单只有不好的方法。打印机的分辨率太高了,表格变成了块状和颗粒状的混乱,只有 10 英尺才能看起来不错。使用 PrintDocument 在一张纸上打印看起来漂亮且锐利的输出。轻松处理行数过多的打印网格。

标签: vb.net winforms visual-studio-2010 windows


【解决方案1】:

试试这个代码。这将打印当前表单的所有内容。

using (Bitmap bmp = new Bitmap(this.Width, this.Height))
{
    this.DrawToBitmap(bmp, this.ClientRectangle);
    using (PrintDocument p = new PrintDocument())
    {
        p.PrintPage += (o, pe) =>
            {
                pe.Graphics.DrawImage(bmp, this.ClientRectangle);
            };
        p.Print();
    }
}

对不起,我没有测试它。

【讨论】:

    【解决方案2】:

    您可以从要打印的表单创建快照,然后打印图像。

    要创建快照,您可以查看here

    【讨论】:

    • 感谢您的回答,我已经尝试了一些熟悉的东西,您对质量有什么想说的吗?在我的测试中,输出质量很差,不符合我们的需求
    • 我相信质量取决于您的打印方法,图像本身应该是 1:1 的捕获,没有任何质量损失。为确保图像质量正常,您可以将屏幕截图保存到磁盘,以便查看创建的图像本身。打印图像时图像缩放可能导致质量不佳。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多