C# 打印 长字符串自动换行
主要代码如下:
StringFormat fmt = new StringFormat();
fmt.LineAlignment = StringAlignment.Near;//左对齐
fmt.FormatFlags = StringFormatFlags.LineLimit;//自动换行 //设定文本打印区域 b是左上角坐标,Size是打印区域(矩形) float mmtopt = 2.835f; 单位换算,毫米*2.835=Point单位
Rectangle r = new Rectangle(b, new Size(Convert.ToInt32( * mmtopt), Convert.ToInt32( * mmtopt))); g.DrawString(tb.Text, titleFont, new SolidBrush(Color.Black), r, fmt);
主要原理就是先定义文本绘图格式为自动换行,之后再制定文本绘图区域为矩形而不仅仅是左上角坐标点。
下面是我做的一个自动套印固定表格的软件的相关代码:
if (tb.Text.Trim().Length < )//标题
{
g.DrawString(tb.Text, textFont, new SolidBrush(Color.Black), b);
}
else
{
StringFormat fmt = new StringFormat();
fmt.LineAlignment = StringAlignment.Near;//左对齐
fmt.FormatFlags = StringFormatFlags.LineLimit;//自动换行 //设定文本打印区域 b是左上角坐标,Size是打印区域(矩形) float mmtopt = 2.835f;
Rectangle r = new Rectangle(b, new Size(Convert.ToInt32( * mmtopt), Convert.ToInt32( * mmtopt)));
r.Y = r.Y - Convert.ToInt32( * mmtopt); Font titleFont = new Font(new FontFamily("仿宋"), , GraphicsUnit.Point);
g.DrawString(tb.Text, titleFont, new SolidBrush(Color.Black), r, fmt);
}
功能就是如果少于28子,使用默认字体打印内容,如果字数过多,则缩小字体,稍微向上修改下打印坐标,自动换行打印。
还是会出现之要一行但是用小字体的情况,但是只要缩小字体这个情况就不可能避免。
C# 打印 长字符串自动换行的更多相关文章
- cocos2dx Mac平台 打印长字符串,游戏卡死
1,打开了输出控制台,输出卡死的解决方案: 打开控制台: game -console enable 关闭控制台: game -console false 修改文件 ConsoleWindowContr ...
- html表单样式, table隔行高亮, 长字符串自动换行
2016年1月14日 11:16:54 星期四 效果图: html: <!DOCTYPE html> <html lang="en"> <head&g ...
- python-原始字符串,长字符串
一 长字符串 在python中要表示跨行多行的字符串,可以使用较为简单粗暴的表达-----三引号.例如: str = ”’那时我们有梦, 关于文学, 关于爱情, 关于穿越世界的旅行. 如今我们深夜饮 ...
- TSQL:判断某较短字符串在较长字符串中出现的次数。
给定一个较短字符串shortStr='ab',和一个较长字符串longStr='adkdabkwelabwkereabrsdweo2342ablk234lksdfsdf1abe': 判断shortSt ...
- Python基础语法——(引号、字符串、长字符串、原始字符串、Unicode)
一.单引号字符串和转义引号 当字符串中出现单引号'时,我们可以用双引号""将该字符串引起来:"Let's go!" 而当字符串中出现双引号时,我们可以用单引号' ...
- 使用List把一个长字符串分解成若干个短字符串
把一个长字符串分解成若干个固定长度的短字符串,由于事先不知道长字符串的长度,以及短字符串的数量,只能使用List. public static void get_list_sbody(String s ...
- eclipse处理长字符串拼接快捷方法类
情景: 你在后台写sql文访问数据库时是不是要这样写 String sql="select a," +"b," +"c " +"f ...
- JSP-简单的练习省略显示长字符串
<%@ page contentType="text/html; charset=gb2312" %> <!-- JSP指令标签 --> <%@ pa ...
- Java & PHP & Javascript 通用 RSA 加密 解密 (长字符串)
系统与系统的数据交互中,有些敏感数据是不能直接明文传输的,所以在发送数据之前要进行加密,在接收到数据时进行解密处理:然而由于系统与系统之间的开发语言不同. 本次需求是生成二维码是通过java生成,由p ...
随机推荐
- oracle 的 exp 和imp命令
数据导出: 1 将数据库TEST完全导出,用户名gdoa 密码123 导出到D:\TEST_BK.dmp中 exp gdoa/123@TEST file=d:\TEST_BK.dmp full=y ...
- 【MatConvNet代码解析】 vl_nnsoftmaxloss
背景知识:http://deeplearning.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 假设softmax层的输入(softmax ...
- 针对不同.NET版本的条件编译
原理:查找项目目录下的 csproj 文件,解析它,找到节点TargetFrameworkVersion,判断.net版本
- 批量删除ppt动画
alt+F11打开宏编辑窗口,输入以下代码,运行即可: Sub removeALL() Dim I As Integer: Dim J As Integer Dim oActivePres As Ob ...
- kali syn洪水攻击实例
kali 172.30.2.241 受攻击:172.30.2.242 syn攻击造成对方cpu跑满 基本上丧失工作能力 攻击语句
- Retrofit 下载网络图片 保存到本地
private void downImage(String imagePath) { try { CommonV2Api.downloadFile(mContext, imagePath, new I ...
- Python基础之变量
变量的作用 用来记录状态的变化 全局变量 全局变量一般使用大写字母来进行区分 顶头写 定义过之后在整个程序中都能使用, 如果需要在函数中使用并修改全局变量的值需要加上global关键字: 如果函数内部 ...
- 常用font-family
微软雅黑: Microsoft YaHei 宋体:SimSun 黑体:SimHei 仿宋: FangSong 楷体: KaiTi 隶书:LiSu 幼圆:YouYuan 华文细黑:STXihei 华文 ...
- ES6 实战项目构建 ES6+glup+express
ES6推出已经有几个年头了,平时也有学过一些基本语法,无奈实践经验太少.而且前端早已脱离了刀耕火种的时代,一些自动化构建工具像gulp.webpack等也需要熟练掌握.最近刚签了三方,闲暇之余就找了个 ...
- Sublime Text 3安装Package Control
Package Control官网:https://packagecontrol.io/installation#st3 ctrl + ` 或者 View > Show Console呼出控制台 ...