繁体   English   中英

使用C#在Windows窗体中打印所有项目

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM