Winfrom常常会涉及到打印功能。网上最多的打印是关于 GridView之类的列表形式打印。

Google可以搜索到很多 拿来就可以用的Code。

本随笔记录下自己遇到的Winfrom 表单的打印。

效果如下图:

我们开始打开VS设计这样的表单:在设计表单方面有个小技巧,可以提高布局的速度与准确性。

1.截图.即截取需要打印的表单格式的图片。例如我需要打印上面的表单,客户一般会提供给我相应的Excel,我使用截图工具截取图片保存于本地。

2.点击vs中设置From的属性:背景图片设置刚刚我们所截取的图。有点要说明的是,截图这块需要注意的是,QQ截图与Window自带的截图都会存在阴影,影响显示效果,建议使用其他的截图工具,我使用的是PicPick.

如果你照着一上来做,一般会出现以下效果。

这样就可以快速的布局到客户想要的模样了,是不是很快呢,在空白的地方拖上TextBox控件,开始界面设计的结尾工作吧。

3.开始打印吧。

通常情况我开始打印是这样想的,先画个表格,在再表格只里面安装以上的布局里面绘制各个不同的标签。

按照以上思路忽然发现工作量不小, 而且这个表格还有合并这类的。

有没有更简单的方法呢。

答案就是我写这篇博客的原因。

1   privatevoid printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

 2         {
 3             Graphics g = e.Graphics;   //先建立画布 
 4             int x = 80;
 5             int y = 60;
 6             g.DrawImage(this.BackgroundImage, 50, 50);
 7             foreach (Control item in this.Controls)
 8             {
 9                 if (item is TextBox)
10                 {
11                     Control tx = (item as Control);
12                     g.DrawString(tx.Text, tx.Font, Brushes.Black, tx.Left + x, tx.Top + y); 
13                 }
14 
15             }
16         }

短短的代码一下子解放了我,忽然觉得世界是 美好的。

好了。开始运行我们的程序吧。

点击打印,看看效果是不是我们想要的?

呵呵。。。样子是我们需要的。。。让我们在填上内容看看吧。

再来打印下看看。奇迹出现吧。

是的,这样我们的任务就完成了。。。

代码比较简单,主要还是在解决这件事情上的思想,按照常规的来,可能需要付出一些计算时间,和调试时间。

当然我想有更多的人可能想到的比我更好、更简单 如果你是,还请您留言分享与我。谢谢

--------------------------------------------------------------------------------------------------------------------

不知道是否有必要把代码解释下?截个图说明下吧。如果能帮助到您,感到十分的荣幸。

转载于:https://www.cnblogs.com/liushaoyu/archive/2011/03/04/JadeLiu.html

Winfrom打印表单相关推荐

  1. JS使用Lodop控件打印表单和二维码

    有关Lodop的查询可看文章:Lodop打印条码二维码设置多宽不一定是多宽 一.了解Lodop 1.1Lodop的定义 Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内 ...

  2. 使用O2OA二次开发搭建企业办公平台(十八)流程打印表单设置

    O2平台是一个可定制的应用开发平台,通过流程平台.内容平台.门户平台和数据平台,可以定制符合企业个性化需求的系统. 所有设计开发都在浏览器端进行,您无需安装任何额外的软件和插件.对浏览器支持如下(含以 ...

  3. 使用Lodop控件打印表单和二维码

    文章目录 1.了解Lodop 1.1Lodop的定义 1.2Lodop主要函数 1.3Lodop的下载 2.在页面中引入Lodop 3.支持的浏览器 4.Lodop的应用 4.1使用Lodop打印表单 ...

  4. 打印表单_超市生鲜常用表单,打印出来直接用!(可收藏)

    点击标题下「零售原点」可快速关注 编者 | 零售人   图 | 来源网络 本文来源 | 中国零售网 超市要在日趋激烈的市场竞争中生存.发展,必须要树立低价格形象.加强吸引客流的能力并不断增强顾客的忠诚 ...

  5. 打印表单_超市生鲜日常作业表单,打印出来就能用!

    零售商要在日趋激烈的市场竞争中生存.发展,必须要树立低价格形象.加强吸引客流的能力并不断增强顾客的忠诚度.低价格形象是一种市场营销策略,是零售商吸引顾客的主要手段. 显然蔬菜.水果作为顾客的目标性购买 ...

  6. 电子表单设计,表单打印,表单填写,数据发布,VC++,VB,源代码组件库

    电子表单设计,表单打印,表单填写,数据发布,VC++,VB,源代码组件库 -- 为您提供即刻可以拿来使用的源码级电子表单解决方案! E-Form++可视化组件库企业版本电子表单解决方案在E-Form+ ...

  7. php请求路由,PHP 新手入门指南 - 表单请求与路由

    在之前的系列内容的基础上,这回我们尝试在页面上添加一个可以提交的表单,可以让用户提交相应的名称. 表单 小实践 修改 index.view.php 文件中的内容为: Submit Your Name ...

  8. 关于表单防重复提交一些东东

    前阵子弄了些表单防重复提交的东西,想整理整理,免得下次要用时再四处去找,其实这里的东西还是挺简单的. 原理: 在Session中保存一个表单的唯一编号,将该编号放在一个隐藏域中,同其他数据一同提交.在 ...

  9. 智能表单一键分发,快速收集信息

    功能概述 智能表单是爱用旗下的表单系统,满足企业各种表单场景的使用,支持分享到微信.公众号.小程序.微博.Qzone等多种渠道. 问卷调查:极速创建各类调研问卷,如产品满意度调查.市场调研等. 报名登 ...

最新文章

  1. java写游戏的聊天怎么写_怎么用JAVA编写一个打字游戏
  2. 水利水电工程管理与实务电子版习题_水利水电工程管理与实务复习题集.pdf
  3. 知识图谱query与文本相似性如何处理
  4. python【蓝桥杯vip练习题库】ALGO-142 P1103(复数运算)
  5. python程序设计——函数设计与调用
  6. java rabbitmq 工具类_RabbitMq通用管理工具类
  7. 六十五、Leetcode数组系列(上篇)
  8. CSS样式的插入方式
  9. 亿佰特物联网开关电源模块:压电发声器驱动器
  10. 【Java】深入理解Java随机数
  11. 信息学奥赛一本通(1069:乘方计算)
  12. mongodb备份和恢复:mongodump/mongorestore ( 二)
  13. 后台系统上传文件回显上传进度条
  14. 【java设计模式】之 抽象工厂(Abstract Factory)模式
  15. [NOIP2014]自测
  16. 学习嵌入式实时操作系统(RTOS),以uc/OS-III为例
  17. 3d打印机品牌排行榜揭晓,stratasys公司名列前茅
  18. 电脑端如何多开微信 如何用命令行打开程序(将快捷方式复制到C:\Windows\System32目录下)
  19. 内容对齐 TextAlignment VerticalAlignment HorizontalAlignment contentMode
  20. 项目纪实--如何搭建一个高可用强一致性灵活元数据管理的数据平台实现高效可靠的数据分发等功能

热门文章

  1. Qt之利用事件过滤器在QLabel上画框
  2. 12、Linux一级子目录学习
  3. Ceilometer的知识总结
  4. [译]理解Node.js事件驱动机制
  5. linux远程执行命令
  6. 2014牡丹江——Hierarchical Notation
  7. play framework anorm orm 化构想
  8. 关于并查集的Python实现代码
  9. Loaded runtime CuDNN library: 7103 (compatibility version 7100) but source was compiled with 7005 ..
  10. [USACO06NOV]玉米田Corn Fields (状压$dp$)