- 浏览: 124797 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
mfkvfn:
woxiangbo 写道看着都累,肯定有更简单的方法 当然有, ...
Maven创建web项目具体步骤【转】 -
springmvc-freemarker:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
Maven创建web项目具体步骤【转】 -
woxiangbo:
看着都累,肯定有更简单的方法
Maven创建web项目具体步骤【转】
private void 打印PToolStripMenuItem_Click(object sender, EventArgs e)
{
printDialog1.Document = printDocument1;
lineReader = new StringReader(textBox1.Text);
if (printDialog1.ShowDialog()==DialogResult.OK)
{
try
{
printDocument1.Print();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
printDocument1.PrintController.OnEndPrint(printDocument1, new PrintEventArgs());
}
}
printDialog1.ShowDialog();
}
private void 打印预览VToolStripMenuItem_Click(object sender, EventArgs e)
{
//printPreviewDialog1可以自己创建一个如下:
//PrintPreviewDialog printPreviewDialog = new PrintPreviewDialog();
printPreviewDialog1.Document = printDocument1;
lineReader = new StringReader(textBox1.Text);
try
{
printPreviewDialog1.ShowDialog();
}
catch (Exception excep)
{
MessageBox.Show(excep.Message, "打印出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
最关键的处理类
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
Graphics g = e.Graphics; //获得绘图对象
float linesPerPage = 0; //页面的行号
float yPosition = 0; //绘制字符串的纵向位置
int count = 0; //行计数器
float leftMargin = e.MarginBounds.Left; //左边距
float topMargin = e.MarginBounds.Top; //上边距
string line = null; //行字符串
Font printFont = this.textBox1.Font; //当前的打印字体
SolidBrush myBrush = new SolidBrush(Color.Black);//刷子
linesPerPage = e.MarginBounds.Height / printFont.GetHeight(g);//每页可打印的行数
//逐行的循环打印一页
while (count < linesPerPage && ((line = lineReader.ReadLine()) != null))
{
yPosition = topMargin + (count * printFont.GetHeight(g));
g.DrawString(line, printFont, myBrush, leftMargin, yPosition, new StringFormat());
count++;
}
// 注意:使用本段代码前,要在该窗体的类中定义lineReader对象:
// StringReader lineReader = null;
//如果本页打印完成而line不为空,说明还有没完成的页面,这将触发下一次的打印事件。在下一次的打印中lineReader会
//自动读取上次没有打印完的内容,因为lineReader是这个打印方法外的类的成员,它可以记录当前读取的位置
if (line != null)
{
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
// 重新初始化lineReader对象,不然使用打印预览中的打印按钮打印出来是空白页
lineReader = new StringReader(textBox1.Text); // textBox是你要打印的文本框的内容
}
}
}
发表评论
-
C#版本MQ的使用摘抄
2014-12-05 09:35 6874消息队列(Message Queue)简介及其使用 ... -
批量更新数据库
2013-10-15 13:52 962前言:最近 ... -
用批处理文件更新数据库
2013-10-11 17:05 741osql -S"服务器名称" ... -
C# 序列化和反序列化
2013-09-25 20:19 1948很神奇的一个类,不用序列化到文件中,只序列化到字 ... -
XML 序列化与反序列化
2013-09-25 19:46 0XmlDocument xx = new XmlDo ... -
Lambda表达式
2013-09-22 15:56 878源自:http://www.cnblogs.com/king ... -
无法在WEB服务器上启动调试,Web 服务器配置不正确
2013-07-02 13:36 894资料来源:http://www.cnbl ... -
关于未能创建 Mutex
2013-06-26 18:46 1226引用:http://www.cnblogs.com/skyqi ... -
MD5加密解密
2013-05-23 16:43 0c#中MD5的加密解密 从网上找到了一些相 ... -
Lucene实现全文检索
2013-04-28 14:10 3271简介: Lucene是apache软件基金会4 jaka ... -
JSON的序列化和反序列化
2013-03-14 16:14 919今天看了好多关于解析json的例子,但是都不全,而且还要自己 ... -
C#操作word(二)
2012-06-14 16:57 0... -
word 文档操作
2012-06-14 16:53 845word文档操作 0、文 ... -
文件打印
2012-06-01 10:52 0C#实现打印与打印预览 ... -
xml的操作
2012-05-17 17:39 1082例子:<FAQ> <Destination ... -
xml的操作
2012-05-17 17:37 1006例子:<FAQ> <Destination ... -
Aspose.cell处理Excel2
2012-05-09 10:28 1331(二)从excel中读取数据写到控制台 ... -
Aspose.cell处理Excel
2012-05-02 16:55 6494(一)从数据库中读取数据写入Excel中 方法1; ...
相关推荐
在C# 2.0中,开发Windows应用程序时,经常需要实现打印功能,例如打印报表、单据等。本文将详细介绍如何使用C# 2.0进行窗口程序的打印操作,以及如何通过引入DLL文件来简化这一过程。 首先,我们要了解C# 2.0中的...
【VC++打印图片程序DEMO】是一个使用Microsoft Visual C++(简称VC++)开发的MFC应用程序,专门设计用于在Windows环境下打印图片。MFC(Microsoft Foundation Classes)是微软提供的一个C++类库,它封装了Windows ...
在IT行业中,打印功能是许多应用程序不可或缺的一部分,尤其是在办公环境中。`window.print()` 是JavaScript中的一个内置函数,它用于触发浏览器的打印对话框,让用户可以选择打印网页内容。在这个主题下,我们将...
在C#编程环境中,打印和打印预览是两个重要的功能,尤其在开发Windows应用程序时,它们经常被用于处理文档输出。下面将详细讲解这两个概念及其在C#中的实现。 一、打印预览 打印预览是用户在实际打印之前查看文档...
标题中的“window写字板程序”指的是Windows操作系统内置的一个简单文本编辑工具——写字板。写字板是微软为用户提供的一种轻量级的文字处理软件,它在早期的Windows系统如Windows XP中被广泛使用,允许用户创建、...
总结来说,这个压缩包提供的资源帮助我们理解了如何使用JavaScript和Chrome浏览器编写一个用于打印小票的程序。这涉及到HTML和CSS的使用,JavaScript的打印功能,以及可能的浏览器打印设置调整。对于想要开发类似...
在本文中,我们将深入探讨如何使用uniapp框架和微信小程序来实现小票打印机的打印功能。这个教程将提供一个详尽的步骤指南,确保你能够理解并应用到实际项目中。我们将涵盖以下知识点: 1. **uniapp简介**:uniapp...
在Windows服务端,麒麟云打印利用服务程序驻留在后台,确保即使用户没有登录到操作系统,也能持续接收并处理打印任务。服务端主要负责管理打印机配置、接收来自客户端的打印请求、转换打印数据格式以及通过网络将...
本文将详细解析"vc mfc 打印程序"的相关知识点,特别是如何处理打印预览和解决使用绝对路径的问题。 首先,了解MFC中的打印机制。在MFC中,打印功能主要通过CView类的派生类实现,它提供了OnDraw()函数来绘制视图...
本书《Window程序设计第五版》是为希望学习在微软Windows平台下进行程序设计的读者所编写的技术指南,内容覆盖了在Windows 98、Windows NT 4.0以及Windows NT 5.0等操作系统上用C语言结合Windows API进行编程的核心...
在IT领域,尤其是在Windows应用程序开发中,经常需要与操作系统进行深度交互,这通常涉及到调用Windows API(Application Programming Interface)来实现一些特定的功能。在这个场景下,标题和描述提到的是利用C#...
在C#编程环境中,Windows应用程序开发常常涉及到打印和打印预览功能。这通常是为用户提供一个可视化的方式,查看即将被打印机输出的内容,确保无误后再进行实际打印操作。本篇文章将详细探讨C#中如何实现这一功能。 ...
标题中的“pb6.5window2000/xp打印设置”指的是在PowerBuilder 6.5环境下,针对Windows 2000或XP操作系统进行的打印配置问题。PowerBuilder (PB) 是一种可视化的、面向对象的软件开发工具,主要用于创建企业级的桌面...
本文将深入探讨如何使用PB9.0来制作一个支票打印程序,同时结合提供的源代码,帮助读者理解其工作原理和实现细节。 首先,让我们了解支票打印程序的基本需求。此类程序通常需要具备以下功能: 1. 用户输入支票信息...
标题中的“win7和window2000驱动程序”指的是在Windows 7和Windows 2000操作系统中使用的硬件设备驱动程序。驱动程序是计算机操作系统与硬件设备之间的重要桥梁,它允许操作系统控制和管理硬件设备,使得硬件能正常...
Java毕业设计-基于SpringBoot+微信小程序的校园自助打印系统+数据库+使用文档+全部资料+演示视频(高分项目) 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境...
本文将详细探讨如何在Delphi环境下实现这一功能,主要基于提供的压缩包文件"开发中调用window程序.rar",该资源包含实际的源代码示例,方便开发者直接使用和学习。 首先,我们要了解Windows API(应用程序接口),...
JavaScript提供了window.print()函数,可以直接调用浏览器的打印功能,而无需用户进行预览操作。 在描述中提到的博文链接指向了一个可能的解决方案,但具体的内容并未给出。通常,这类解决方案可能会包含以下几点:...
在IT行业中,打印功能和数据导出能力是Web应用程序中不可或缺的部分。`ext打印`、`jquery打印`和`ext导出excel`都是与前端开发密切相关的技术,主要用于提升用户体验和增强数据处理能力。 首先,我们来详细了解一下...