C#中打印拼接的字符串
实例化打印文档
//声明打印对象
PrintDocument pd = new PrintDocument();
int ilvPreviewIndex = 0;
在打印事件中设置基本属性
private void btnPrint_Click(object sender, EventArgs e)
{
//获取和设置标签的高宽和边距
decimal dLabelHeight = nudLabelHeight.Value;
decimal dLabelWidth = nudLabelWidth.Value;
decimal dTopMargin = nudTopMargin.Value;
decimal dLeftMargin = nudLeftMargin.Value;
//设置边距
Margins margin = new Margins(0, 0, 0, 0);
pd.DefaultPageSettings.Margins = margin;
pd.DefaultPageSettings.Margins = margin;
//横向打印
//pd.DefaultPageSettings.Landscape = true;
//循环打印
for(; ilvPreviewIndex < dgvPreview.Rows.Count; ilvPreviewIndex++)
{
//页面尺寸
pd.DefaultPageSettings.PaperSize = new PaperSize("Custom", Utility.GetPixelByWidth(dLabelWidth), Utility.GetPixelByWidth(dLabelHeight));
pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
pd.Print();
}
}
打印事件处理
/// <summary>
/// 打印事件处理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void pd_PrintPage(object sender, PrintPageEventArgs e)
{
//排架号中的行间距
int iMiddle = int.Parse(Utility.ConfigGetItem("ShelfMiddle"));
//获取和设置标签的高宽和边距
decimal dLabelHeight = nudLabelHeight.Value;
decimal dLabelWidth = nudLabelWidth.Value;
decimal dTopMargin = nudTopMargin.Value;
decimal dLeftMargin = nudLeftMargin.Value;
//获取排架号
string sBeginCallNo = dgvPreview.Rows[ilvPreviewIndex].Cells[0].Value.ToString();
string sConnectSymbol = txtConnectSymbol.Text.Trim();
string sEndCallNo = dgvPreview.Rows[ilvPreviewIndex].Cells[1].Value.ToString();
//设置水平文字对齐方式
StringFormat stringFormat = new StringFormat();
stringFormat.LineAlignment = StringAlignment.Center;
stringFormat.Alignment = StringAlignment.Center;
//将排架号进行拼接打印
Graphics g = e.Graphics;
float leftMargin = Utility.GetPixelByWidth(dLeftMargin); //左边距
SolidBrush myBrush = new SolidBrush(Color.Black); //刷子
float yPosition = Utility.GetPixelByHeight(dTopMargin); //行定位
Font printFont = new Font("宋体", 12 f, FontStyle.Bold); //设置字体
g.DrawString(sBeginCallNo, printFont, myBrush, leftMargin, yPosition, stringFormat);
yPosition += Utility.GetPixelByHeight(iMiddle); //另起一行
g.DrawString(sConnectSymbol, printFont, myBrush, leftMargin, yPosition, stringFormat);
yPosition += Utility.GetPixelByHeight(iMiddle); //另起一行
g.DrawString(sEndCallNo, printFont, myBrush, leftMargin, yPosition, stringFormat);
}
C#中打印拼接的字符串的更多相关文章
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
以前拼接的写法 set @sql=' select * from table where 1=1 ' if (@addDate is not null) set @sql = @sql+' and a ...
- jquery 获取多选select的文本中并拼接成字符串
//拼接产品字符串 var productArray = new Array(); $.each($("#fmeatask-subSystem").find("optio ...
- python 中 打印及格式化字符串的相关方法
原文 将值转换为字符串 Python 有多种方式将任何值转为字符串: 将它传给 repr() 或 str() 函数. repr() 和 str() 的区别,看几个例子: >>> pr ...
- oracle中,拼接的字符串给游标赋值
直接open cur from sql;即可. 例子: create or replace procedure test(tableName varchar2) is TYPE cur_type IS ...
- 描述了say_hello函数的具体内容,调用zend_printf系统函数在php中打印字符串
下载一个php的源代码包,这里使用的是php 4.0.5版,解压后会看到php的根目录下会有README.EXT_SKEL这样一个文件,打开详细阅读了一下,发现了一个非常好用的工具,这个工具可以帮你构 ...
- 基于easyui框架中input 类型的checkbox拼接成字符串存入数据库和读取选中---善良公社项目
项目中我做修改用户个人资料的时候,有一个需求是帮助人员的帮助类型如图下所示: 当初想如果是asp.net控件的话应该很简单实现,如果不是基于easyUI框架那就太简单了,现在是受框架的限制与是前端ht ...
- java 创建string对象机制 字符串缓冲池 字符串拼接机制 字符串中intern()方法
字符串常量池:字符串常量池在方法区中 为了优化空间,为了减少在JVM中创建的字符串的数量,字符串类维护了一个字符串池,每当代码创建字符串常量时,JVM会首先检查字符串常量池.如果字符串已经存在池中,就 ...
- jquery中选择checkbox拼接成字符串,然后到后台拆分取值
jquery中选择checkbox拼接成字符串,然后到后台拆分取值 js中的代码 $("#btn").click(function(){ var chenked=$("i ...
- Java如何从文件中打印与给定模式匹配的所有字符串?
在Java编程中,如何从文件中打印与给定模式匹配的所有字符串? 以下示例显示了如何使用Util.regex类的Patternname.matcher()方法从文件中打印与给定模式匹配的所有字符串. p ...
随机推荐
- 【模版 Luogu P3808/P3796/P5357】AC自动机(简论)
浙江集训Day9,没有出任何实质性成果,只好把昨天打完的板子记一下. 该博客基于luogu的三道模版题.只有一个大致的讲解,主要提供代码给自己参考. ------------------------- ...
- C++分支结构,求一元二次方程的根
总时间限制: 1000ms 内存限制: 65536kB 描述 利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/ ...
- Visual Studio 连接 SQL Server 关键代码
首先先把Visual Studio 上面工具打开-->连接数据库-->选择Microsoft SQL Server进入(有两种验证方式:1.windows验证方式[就是本机验证]:2.SQ ...
- Jmeter介绍、下载及配置
Jmeter介绍: Apache JMeter是Apache组织开发的基于Java的压力测试工具.最初被设计用于Web应用测试,后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文件.J ...
- 第15.15节 PyQt(Python+Qt)入门学习:Designer的menu菜单、toolBar工具栏和Action动作详解
老猿Python博文目录 老猿Python博客地址 一.引言 Qt Designer中的部件栏并没有菜单.toolBar以及Action相关的部件,仅在MainWindow类型窗口提供了menu.to ...
- centos7 yum搭建lamp
环境 系统:centos7 安装apache #yum 安装apache [root@localhost ~]# yum install httpd httpd-devel #启动httpd服务 [r ...
- kubeadm 的工作原理
kubeadm 的工作原理 作者:张首富 时间:2020-06-04 w x:y18163201 相信使用二进制部署过 k8s 集群的同学们都知道,二进制部署集群太困难了,有点基础的人部署起来还有成功 ...
- window下kettle安装
参考这篇文章 http://note.youdao.com/noteshare?id=a8c536ba952a48d60d7ea8f2cc61a94b
- 我对js数据类型的理解和深浅(copy)的应用场景
本人毕业一所专科院校,所学专业是计算机应用技术,在大学时对前端有了一定的了解之后,觉得自己对前端的兴趣十分强烈,开始自学前端,一路上也是坎坎坷坷,也有想要放弃的时候,还好坚持了下来,并且从事前端开发已 ...
- Struts2 S2-061(CVE-2020-17530)漏洞复现
0x00 漏洞简介 Apache Struts2框架是一个用于开发Java EE网络应用程序的Web框架.Apache Struts于2020年12月08日披露 S2-061 Struts 远程代码执 ...