Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published 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,


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759