c# - 有没有一种简单的方法可以打印出我的点网 Windows 窗体?

标签 c# winforms printing

我刚刚创建了一个请求零件的数据库应用程序。

它有几种形式,一种用于请求者,一种用于主管批准,一种用于采购批准,另一种供职员用来了解要订购什么。

现在我是无纸化的忠实拥护者,但我的雇主真的很喜欢他们的纸张。 有没有一种简单的方法可以将我的 Windows 窗体复制到纸上所见即所得?

我还应该补充一点,我只能使用 2.0 .Net 框架

谢谢

最佳答案

这是一个快速的方法。您可以清理代码以使其适合您的需要:

    public static class FormExtensions
    {
        public static void PrintForm(this Form f)
        {
            PrintDocument doc = new PrintDocument();
            doc.PrintPage += (o, e) =>
            {
                Bitmap image = new Bitmap(f.ClientRectangle.Width, f.ClientRectangle.Height);
                f.DrawToBitmap(image, f.ClientRectangle);

                e.Graphics.DrawImage(image, e.PageBounds);
            };

            doc.Print();
        }
    }

这会将表单拉伸(stretch)到页面大小。如果需要,您可以调整 DrawImage 方法调用的第二个参数以将其绘制在其他地方。

关于c# - 有没有一种简单的方法可以打印出我的点网 Windows 窗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/635627/

相关文章:

c# - 如何用记事本打开嵌入的字符串资源?

c# - 判断修改键是否被按下

c# - 'System.Web.Mvc.ViewEngines' 的类型初始值设定项抛出异常

c# - Windows 窗体应用程序不会初始化

c# - 如何通过 cellFormatting Telerik 覆盖单元格颜色

Python遍历 float 宽度列表: TypeError: sequence expected,生成器发现

html - CSS 打印 - 大段落未跨页拆分

c# - 如何用C#.Net和DirectX编写音视频播放引擎(综合分析)?

c# - 如何(或我可以)列出通用列表中对象的属性,并将其显示在组合框中

javascript - 使用 JavaScript/html;如何在打印区域之外打印 Canvas ?