本篇内容主要讲解“C#打印控件的使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#打印控件的使用”吧!
WinForm中的打印可通过使用.Net提供的打印类完成,也可以使用C#提供的支持打印的控件。
打印控件默认放在工具箱的“打印”项中,共有5个组件共同完成打印功能,包括PrintDialog、PageSetupDialog、PrintDocument、PrintPeviewControl、PrintPreviewDialog。
1、PrintDocument
PrintDocument是主要打印控件,打印时必须添加,它是对PrintDocument类的实现,通过它的PrintPage事件可以设置打印内容。
2、PrintDialog
PrintDialog提供打印机设置对话框,具有Document属性和ShowDialog方法,将其Document属性设置为PrintDocument对象即可。
3、PageSetupDialog
PageSetupDialog控件提供页面设置对话框,常用的页面设置元素有纸张、方向和页边距。
4、PrintPreviewDialog
PrintPreviewDialog提供标准的打印预览对话框,用于显示文档的打印效果。该控件包含用于打印、放大、显示一页或多页的按钮。该控件的关键属性Document与PrintDialog控件的相同,用于设置要预览的文档,此文档必须是PrintDocument对象。
5、PrintPreviewControl
PrintPreviewControl帮助定制打印预览对话框,可以显示文档的打印效果,没有按钮和其他用户界面元素。该控件常用于打印预览用户界面,而PrintPreviewDialog控件用于标准用户界面。
使用打印控件的步骤如下:
(1)编写打印逻辑步骤处理PrintDocument的一些事件。
调用其Print()方法时,将依据下面的排列顺序,依次触发。
BeginPrint
PrintPage
EndPrint
(2)选择打印机。
在打印对话框(PrintDialog)中选择打印机。必须使用PrintDocument控件将其传递到打印机的PrintDialog控件中。
(3)选择页面设置。
用户选择了打印机,准备打印时,允许用户选择页面设置。创建一个PageSetupDialog控件,并将PageSettings实例传递到该控件中,使用户可以操纵页面设置。
(4)显示打印预览窗口。
添加PrintPreviewDialog控件,将PrintDocument控件传递给PrintPreview的Document属性。
我们用上节的项目完成打印功能,在窗体中添加PrintDocument、PrintPreviewDialog、PrintDialog控件,分别编写“打印组件使用示例”
private void 打印PToolStripMenuItem_Click(object sender, EventArgs e) { this.printDialog1.Document = this.printDocument1; if (this.printDialog1.ShowDialog() == DialogResult.OK) { try { this.printDocument1.Print(); } catch (Exception ex) { MessageBox.Show(ex.Message,"打印出错"); } } } private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { Graphics g = e.Graphics; string[] str = this.richTextBox1.Text.Split('\n'); int i=0; foreach (string s in str) { g.DrawString(str[i], this.fontDialog1.Font, new SolidBrush(this.richTextBox1.ForeColor),new PointF(100,80+this.richTextBox1.Font.Height*i)); i++; } } private void 打印预览VToolStripMenuItem_Click(object sender, EventArgs e) { this.printPreviewDialog1.Document = this.printDocument1; try { this.printPreviewDialog1.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.Message, "打印出错"); } }
到此,相信大家对“C#打印控件的使用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。