Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/11 9:18:33 C#中Windows打印对象的综合使用实例
C#中Windows打印对象的综合使用实例|方法
Windows打印对象的综合应用下面通过一个综合实例来说明这5个对象的使用方法。程序开发步骤如下所示。(1)在VS2005中新建一个项目,并命名为PringTest。(2)打开窗体设计器,从工具箱中将PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl和PrintPreviewDialog组件添加到窗体中,再添加一个Button按钮并将其Text属性改为“打印”,如图1所示。图1 打印对象综合示例界面设计效果(3)PrintPreviewControl1的Document属性设为printDocument1,在打印按钮的Click事件下并添加如下代码:private void button1_Click(object sender, EventArgs e){pageSetupDialog1.Document = printDocument1;pageSetupDialog1.ShowDialog();printPreviewControl1.Zoom = 0.75;printPreviewDialog1.Document = this.printDocument1;printPreviewDialog1.UseAntiAlias = True;printPreviewDialog1.ShowDialog();printDialog1.Document = printDocument1;printDialog1.ShowDialog();printDocument1.Print();}这段代码完成了打印设置的各个方面,其中printDocument1是连接各个对象的核心对象。(4)选中printDialog1对象,单击鼠标右键在菜单中选择属性。为程序添加PrintPage事件并在事件的方法中添加如下代码:private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e){Pen p = new Pen(Color.Black,5);Point point1 = new Point(250, 350);Point point2 = new Point(400, 425);Point point3 = new Point(340, 525);Point point4 = new Point(150, 550);Point point5 = new Point(300, 1100);Point[] curvePoints ={point1,point2,point3,point4,point5,};e.Graphics.FillRectangle(Brushes.Red, new Rectangle(150, 500, 500, 500));e.Graphics.DrawPolygon(p, curvePoints);e.Graphics.DrawString("打印测试!", new Font("Arial", 80, FontStyle.Bold), Brushes.Black, 150, 150);}printDocument1的Print()方法将引发PrintPage事件开始打印进程,PrintPageEventArgs对象的Graphics类用来绘制输出到屏幕或打印机的内容。程序运行结果如图2所示。图2 打印对象运行效果单击【打印】按钮,将弹出打印设置对话框如图3所示。对打印页面进行设置,设置完毕后单击按钮,打印预览的效果如图4所示。单击图4所示的打印机图标,将在打印机上打印预览到的图像。通过这个简单的应用充分地说明了Windows打印对象的使用方法,和它们是怎样配合来完成整个打印过程的。在实际应用中主要扩展的部分就是Graphics类的使用,用它来画出各种文字和图形,从而完成复杂的打印。例如,做一套类似于水晶报表的报表设计器。图3 打印设置对话框图4 打印预览图完整程序代码如下:★ ★★★★Form1.cs窗体代码文件完整程序代码★★★★★using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace PrintTest{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e){try{Pen p = new Pen(Color.Black, 5);Point point1 = new Point(150, 690);Point point2 = new Point(650, 690);Point point3 = new Point(400, 360);Point point4 = new Point(150, 610); Point point5 = new Point(650, 610);Point point6 = new Point(400, 280);//Point point7 = new Point(250, 250);Point[] curvePoints ={point1,point2,point3,
赞