前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c# 文本超长截断

c# 文本超长截断

作者头像
冰封一夏
发布2019-09-11 15:18:59
7130
发布2019-09-11 15:18:59
举报

根据控件大小进行截断

代码语言:javascript
复制
  private void SetStringTruncat(Static.LabelEx lbl)
        {
            string oldStr = lbl.Text;
            if (string.IsNullOrEmpty(oldStr))
                return;

            Graphics g = lbl.CreateGraphics();
            string strNewStr = string.Empty;            
            for (int i = 0; i < oldStr.Length; i++)
            {
                strNewStr = oldStr.Substring(0, oldStr.Length - i) + "…";
                SizeF sizeF = g.MeasureString(strNewStr, lbl.Font, 1000, StringFormat.GenericTypographic);
                if (sizeF.Width <= lbl.MaximumSize.Width - 20)
                {
                    break;
                }
            }
            g.Dispose();
            if (strNewStr == oldStr + "…")
                strNewStr = oldStr;
            lbl.Text = strNewStr;
        }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档