根据宽度来决定显示的字符串长度 (C#,VS2005)

如果 lable长度固定但字符串长度可变,如果超过了lable显示的长度时,希望用 ...代替剩下的字符,这时需要一个函数

Graphics.MeasureString

具体代码如下

public string Abbreviation(string str)

{

if (str == null)

{

return null;

}

int strWidth = FontWidth(txtName.Font, txtName, str);

//获取label最长可以显示多少字符

int len = label.Width * str.Length / strWidth;

if (len > 3 && len < str.Length)

{

return str.Substring(0, len - 3) + "...";

}

else

{

return str;

}

}

///

/// 获取字符串在 font时的长度

///

private int FontWidth(Font font, Control control, string str)

{

using (Graphics g = control.CreateGraphics())

{

SizeF siF = g.MeasureString(str, font);

return (int)siF.Width;

}

}

c#语言输出字符串长度,根据宽度来决定显示的字符串长度(C#)相关推荐

  1. Java黑皮书课后题第5章:*5.46(倒排一个字符串)编写一个程序,提示用户输入一个字符串,然后以反序显示该字符串

    5.46(倒排一个字符串)编写一个程序,提示用户输入一个字符串,然后以反序显示该字符串 题目 题目概述 破题 运行示例 代码 题目 题目概述 5.46(倒排一个字符串)编写一个程序,提示用户输入一个字 ...

  2. css文字长度实现宽度自适应、显示三行超出省略号

    width 不设置默认宽度铺满全屏,如果要实现宽度随着文字长度自适应,css width:fit-content; 如果要实现文字自动换行,最多显示三行,超出显示省略号,以下这种效果的话 overfl ...

  3. python 字符串%和format_Python必懂知识点,格式化字符串,到底用.format还是%

    第一次听说格式化,是清理电脑磁盘时,以为格式化就是清空一切,重回自由,后来才知道,格式化,是另一种妥协. 以下部分节选自<编写高质量代码:改善Python程序的91个建议>一书,需要该书电 ...

  4. STM32F103xx TFT液晶显示ASCII字符串、中文、图片并且显示带有镜像和旋转功能

    STM32F103xx TFT液晶显示ASCII字符串.中文.图片带有镜像和旋转功能 编译器平台及例程说明 编译器说明 例程说明 参考例程 一.镜像显示说明 二.旋转显示说明 三.数据结构和宏定义 四 ...

  5. C语言sprintf函数(发送格式化输出到 str 所指向的字符串)(format 标签属性)(字符串拼接)(数字转字符串、浮点数转字符串)

    C语言函数 snprintf()(发送有限字符格式化输出到 str 所指向的字符串)(字符串拼接) 文章目录 描述 声明 参数 返回值 实例 20220124 上面的实例太简陋了,我们拓展一下 实例1 ...

  6. c语言输出字符串显示在屏幕上,C语言输出printf

    C语言输出printf教程 在 在我们使用 printf 函数时,格式占位符的格式个数一定要与后面的需要输出的变量或者字面量的个数匹配,否则程序报错. printf函数详解 语法 int printf ...

  7. 用C语言输出一个字符串的所有子串

    前言 啥是子串? 串中任意个连续字符组成的子序列称为该串的子串. 包含子串的串相应地称为主串. ①空串是任意串的子串. ②任意串是其自身的子串. 例:字符串"12"它的字串为&qu ...

  8. C语言输出字符,字符串的ASCII码的16进制数

    C语言输出字符,字符串的ASCII码的16进制数 /* file name : test.c cmd code : gcc -o test.exe test.c */ #include<stdi ...

  9. 字符串分隔 -连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。...

    •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输 ...

最新文章

  1. Nginx的rewrite之break指令
  2. CSS3文字渐变效果
  3. i219v微星 驱动_Intel英特尔网卡驱动下载-Intel英特尔I217/I218/I219系列网卡驱动官方版下载[电脑版]-华军软件园...
  4. git-svn使用教程:git与svn进行同步
  5. WAP加密和WEP加密比较
  6. 浅析:光纤跳线的插入损耗和回波损耗
  7. 动态DNS的定义以及优缺点有哪些
  8. 图表点编辑数据无反应_excel输入数据表格没反应-点击EXCEL插入图表没有反应
  9. P7939 [B1] Alice Wins(easy version)
  10. 烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一 个小时十五分钟呢?(微软面试题)
  11. 机械加工中304不锈钢与316不锈钢有什么区别?
  12. Java 岗最全面试攻略,吃透 25 个技术栈 Offer 拿到手软
  13. 智慧政务行业发展报告
  14. 一、Android Matrix 矩阵
  15. latex中图片和文字并列排放讲解
  16. Android Studio 获取磁盘信息获取imei
  17. ecmall 连接mysql服务器失败_ecmall数据库基本操作
  18. 2022年能源,电力与电气工程国际研讨会(CoEEPE 2022)
  19. Android小程序之自动发送短信
  20. 关于“ORA-12518: TNS: 监听程序无法分发客户机连接”的一种解决方法

热门文章

  1. [PowerShell]人人都值得学一点PowerShell实现自动化(2)有哪些可用的场景及方式?
  2. 使用Azure云原生构建博客是怎样一种体验?(下篇)
  3. 微软发布 VS Code Java 安装程序,一键安装所有 Java 开发环境
  4. 微软全都要!Win10引入真Linux内核
  5. 一个技术管理者的苦逼【技术管理漫谈】
  6. 【DevOps+LIVE】直播复盘 – DevOps能力成长模型2018首发
  7. Pipelines - .NET中的新IO API指引(二)
  8. CoreCLR源码探索(八) JIT的工作原理(详解篇)
  9. .net core之ACG小站爬虫(一)
  10. log4j 新建日志 重启_Log4j 动态修改日志级别,不用重启服务器