TextRenderer.MeasureText计算字符串文本所占的尺寸

C# Winform 精确定位字符串像素宽度:三大测量方法对比与踩坑实战 在桌面 UI 开发中,文本渲染宽度的精确测量是动态布局与控件对齐的重要基础。Winform 环境下,字符串宽度并非固定值,字体、字号、DPI 与渲染引擎都会影响最终像素结果。为解决这一难题,开发者可在 GDI+ 体系下使用 Graphics.MeasureString 获取浮点宽度,在 GDI 体系下使用 TextRenderer.MeasureText 获得更贴近实际控件的整型数值,也可借助 GetPreferredSize 让控件自报首选尺寸。三种方法在返回值、资源占用及与 Label 显示契合度上各有 阅读详情

TextRenderer.MeasureText是Winform中用于计算文本尺寸的一个很好用的方法,WPF中也可以使用。用法如下:
Font f = new Font(“SimSun”, 9F, System.Drawing.FontStyle.Regular);
System.Drawing.Size aSize = System.Windows.Forms.TextRenderer.MeasureText(aStrType, f);
在昨天发表的博文例子中我就用到了这个方法,今天做项目时有用到了这个,受益匪浅,故和大家分享一下。
我的程序中有一个TextBlock tb1,使用了Trimming.CharacterEllipsis将超出的控件尺寸字符串不显示。但现在需要判断tb1中文本到底有没有显示完全,于是TextRenderer.MeasureText便派上用场了。代码如下:

       <span style="font-family:Microsoft YaHei;"> <span style="font-size:12px;">Font f = new Font(tb1.FontFamily.FamilyNames.ToString(),9F, System.Drawing.FontStyle.Regular)
别再手动折腾了!PICO Unity SDK 一键配置开发环境保姆级教程(含PDC串流调试) 本文详细介绍了PICO Unity SDK的一键配置功能,帮助开发者快速搭建VR开发环境。通过自动化配置流程,大幅减少手动设置时间,提升开发效率。文章还涵盖了PDC串流调试技巧和常见问题解决方案,是PICO VR开发的实用指南。 阅读详情

相关推荐

手把手教你用DLP4500投影仪玩转结构光3D扫描(附固件烧录与序列设置避坑指南)

本文详细解析了如何使用DLP4500投影仪搭建结构光3D扫描系统,涵盖硬件组装、固件烧录、图案生成与优化等全流程。重点解决了固件烧录失败、图像格式错误等常见问题,并提供了实用的避坑指南和进阶技巧,帮助读者快速掌握DLP4500在3D扫描中的应用。

weixin_42662293的博客 301

MATLAB实战:纯电动汽车动力性仿真从入门到精通(附完整代码)

本文提供了一份基于MATLAB的纯电动汽车动力性仿真从入门到精通的实战指南。通过理论建模与代码实战相结合,详细讲解了如何构建行驶阻力模型、驱动力平衡方程,并利用MATLAB脚本完整实现了最高车速、加速时间和最大爬坡度三大核心性能指标的仿真计算。文章附有完整代码,帮助工程师快速掌握纯电动汽车动力性仿真的核心技能,为设计与优化提供高效的数字工具。

weixin_29074409的博客 369

【Matlab/simulink/carsim】再生制动

【Matlab/simulink/carsim】再生制动

weixin_62311849的博客 621

【实战解析】SAP EWM与PP深度集成:从后台配置到前台物料流转的全链路设计

本文深入解析SAP EWM与PP深度集成的全链路设计,涵盖后台配置与前台物料流转的实战应用。通过两种集成模式(DPI与API)的选择策略、十二个关键后台配置步骤详解,以及PMR生成、PSA补货等前台演示,帮助企业实现生产计划与物料供应的高效协同,显著提升生产效率和库存周转率。

weixin_30723433的博客 421

CPRI原理及应用--帧结构

对于CPRI 控制字,协议将1个超帧(256基本帧)的控制数据划分为一个“子通道”,将子通道内超帧内的控制字进行行列划分,分为4列X64行,每64个基本帧组成1列。如下图所示。每个Xs子通道内Ns的定义基本相同,在做控制字设计时,主要已Xs和Ns和X.Y.Z开展控制字映射。

u014035968的博客 2325

【AI智能体】Codex 浏览器操作自动化任务实战操作详解

【AI智能体】Codex 浏览器操作自动化任务实战操作详解

congge 4103

vue3:最新实现腾讯人脸核身+增强版人脸核身使用方法及示例源码,Vue3如何使用腾讯云慧眼人脸核身,提供人脸核身案例、身份信息核验、活体检测与核身比对等示例代码(后端spring与thinkphp)

vue3接入腾讯人脸核身,腾讯云人脸核身Vue3+后端代码,H5人脸核身,vue3 H5如何使用腾讯人脸核身sdk,vue3+thinkphp腾讯人脸核身,Spring Boot接入腾讯云人脸核身教程,hinkphp腾讯人脸核身,vue3人脸核身插件接入流程,vue+spring boot实现腾讯人脸核身,vue3接入腾讯云【增强版人脸核身接入】,vue3 h5微信公众号网页腾讯云慧眼人脸核身,tvue3接入人脸核身SDK,vue3+typescrip+vite接入慧眼实名认证,vue3腾讯云活体人脸核身(

✅ 精选推荐文章 4119

PY32F406K1CU6+I2C+ AT24C64 基本配置

【代码】PY32F406K1CU6+I2C+ AT24C64 基本配置。

sam的博客 90

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: 如何设置和获得控件相对于Canvas的位置
下一篇: WPF如何后台动态添加控件的右键菜单
梦想小白菜
博客等级 码龄12年 27粉丝 30原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值