C#/WPF 计算字串的真实长度,调整控件的宽度

本文介绍了如何在C#和WPF中准确计算字符串的长度,以解决Graphics.MeasureString在不同环境下结果不一致的问题。作者提供了一种经过测试的有效方法,并分享了遍历已安装字体的代码片段。
摘要由CSDN通过智能技术生成

下面函数是经常用到的计算字串长度的方法:

        private double MeasureTextWidth(String str, string fontName, double fontsize, double width)
        { 
            double width = -1;     
            try
            {
                System.Drawing.Graphics graphics = System.Drawing.Graphics.FromHwnd(m_hWnd);
                graphics.PageUnit = System.Drawing.GraphicsUnit.Point;
                System.Drawing.Font font = new System.Drawing.Font(fontName, (float)fontsize);

 

                System.Drawing.SizeF size = graphics.MeasureString(str, font);

                width = size.width;

                font.Dispose();
                graphics.Dispose();
            }
            catch (System.Exception e)
            {
            }
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值