博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于计算文字显示占用画面大小(System.Drawing.Graphics.MeasureString)
阅读量:7103 次
发布时间:2019-06-28

本文共 830 字,大约阅读时间需要 2 分钟。

最近遇到了一个需要手动为显示文字换行的场合,网上转了一圈,最后形成了下面的代码:

var font = new Font("微软雅黑", 9F);    var maxTextWidth = panel_detail.Width - 22 - DETAIL_BASE_INDENT - DETAIL_INDENT * level - 6;    var graphic = panel_detail.CreateGraphics();    var textRemained = text;    while (textRemained.Length > 0)    {        int characters, lines;        graphic.MeasureString(textRemained, font,            new SizeF(Convert.ToSingle(maxTextWidth), Convert.ToSingle(DETAIL_HEIGHT)), StringFormat.GenericTypographic,            out characters, out lines);        var currentTextLine = textRemained.Substring(0, characters);        textRemained = textRemained.Substring(characters);         // TODO: 使用font作为参数,将currentTextLine中的文字展示出来    }

需注意StringFormat一项最好不要设成new StringFormat(),否则得到的计算结果和用Label展示时的大小差距很大。

转载于:https://www.cnblogs.com/Rabbitism/p/6066286.html

你可能感兴趣的文章
深度优化LNMP之PHP
查看>>
玩转git分支
查看>>
php访问mysql 封装
查看>>
【Objective-C】04-第一个OC程序解析
查看>>
ios的自动转屏
查看>>
【C】——fread函数和read函数的区别
查看>>
js中push和join方法使用介绍
查看>>
Webservices-2.C#创建web服务,及引用访问、代码访问
查看>>
js控制页面的全屏展示和退出全屏显示
查看>>
程序猿的量化交易之路(26)--Cointrader之Listing挂牌实体(13)
查看>>
《Struts2技术内幕》学习笔记
查看>>
开发指南专题八:JEECG微云高速开发平台数据字典
查看>>
CI框架 -- 核心文件 之 Output.php(输出类文件)
查看>>
动态更换view类的背景----StateListDrawable的应用
查看>>
scrapy-redis实现爬虫分布式爬取分析与实现
查看>>
Android仿微信UI布局视图(圆角布局的实现)
查看>>
docker
查看>>
OKR 方法 学习笔记
查看>>
CG资源网 - Maya教程
查看>>
http://blog.sina.com.cn/s/blog_62e1faba010147k4.html
查看>>