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

根据宽度来决定显示的字符串长度 (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;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之版本检测和更新

版本检测和更新 APP不可能一次把功能全做完,当我们需要更新的时候,可以自己写,也可以用第三方更新,比如友盟更新,首先我们需要获取我们APP当前的版本,关键代码如下 private String getVersionCode() {try {String pkName = this.getPackageName();Strin…

Java 和 Android系统环境变量设置

Java环境变量设置 JAVA_HOMED:\Program Files\Java\jdk1.7.0_06 ClassPath.;D:\Program Files\Java\jdk1.7.0_06\lib\tools.jar.jar;D:\Program Files\Java\jdk1.7.0_06\jre\lib\rt.jar; PathD:\Program Files\Java\jdk1.7.0_06\bin Android环境变量设置 ANDROID_SDK_HOME默认路…

UITableView 禁止下拉

_tableView1.bounces NO;转载于:https://www.cnblogs.com/yangxiaolong/p/5278744.html

Exceptionless服务端+kibana部署实时日志纪要

安装软件列表Exceptionless.4.1.2861.zipelasticsearch-5.6.14.zipkibana-5.6.14-windows-x86.zip安装准备1. 在D盘下创建Exceptionless文件夹2. 拷贝需要安装的软件(参照上面安装软件列表)到Exceptionless文件夹下3. 安装JDK 1.8 (C环境中已经有安装, 步骤忽略)4. …

一些顿悟,和新的开始!

在大学末尾的这个下午&#xff0c;我意识到我应该好好经营一个技术博客。 一直想学学Python&#xff0c;但直到今天中午休息时&#xff0c;我才认真看着教程写了第一个Hello World。它的干净&#xff0c;清爽实在令人着迷&#xff0c;我一下午什么也没干一直看教程到旁边人提醒…

好心帮男朋友洗衣服,他却要分手??

1 每天一个分手小技巧&#xff08;via.平民窟公主&#xff09;▼2 导航最近的加油站&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 单位停电发的蜡烛&#xff08;via.蜻蜓队长&#xff09;▼4 我也不知道原来有人这样穿啊&#xff01;&#xff08;素材来源网络&…

Android之如何解决右上角不显示3个点的菜单

之前写过小例子,发现菜单栏右上角的那3个点老是显示不出来,今天终于解决了,不废话,先爆照。 我之前的代码menu_main.xml 文件如下 <menu xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools&quo…

c语言实现容器,C语言三种容器:list vector和deque的区别

在写C程序的时候会发现STL是一个不错的东西&#xff0c;减少了代码量&#xff0c;使代码的复用率大大提高&#xff0c;减轻了程序猿的负担。还有一个就是容器&#xff0c;你会发现要是自己写一个链表、队列&#xff0c;或者是数组的时候&#xff0c;既要花时间还要操心怎么去维…

第二十一章流 5 多种打开文件的方式 文件存在,文件不存在

// 第二十一章流 5 多种打开文件的方式 文件存在&#xff0c;文件不存在 /* ios::in 打开文件进行读操作&#xff0c;即读取文件中的数据 ios::out 打开文件进行写操作&#xff0c;即输出数据到文件中 ios::ate 打开文件时针指向文件末尾&#xff0c;但是你可以在文件中的任何地…

如何高效的比较两个 Object 对象是否相等?

咨询区 DmitryBoyko&#xff1a;我有两个复杂的对象 Object1 和 Object2&#xff0c;这两个对象大概有 5 层的深度。我现在需要一个快速的方法比较两个对象是否相等&#xff0c;请问我该如何实现&#xff1f;回答区 vivek nuna&#xff1a;如果你的class是一个不可变的&#xf…

大型网站架构系列:电商网站架构案例

为什么80%的码农都做不了架构师&#xff1f;>>> #0 系列目录# 大型分布式网站架构大型分布式网站架构技术总结大型网站架构系列&#xff1a;电商网站架构案例#1 电商案例原因# 分布式大型网站&#xff0c;目前看主要有几类1.大型门户&#xff0c;比如网易&#xff…

八、结构模式之组合(Composite)模式

组合模式属于对象的结构模式&#xff0c;有时又叫做部分-整体模式&#xff0c;组合模式将对象组织到树结构中&#xff0c;可以用来描述整体与部分的联系。其可以使客户端将单纯元素和组合元素同等对待。 当需求中是体现部分与整体层次的结构时&#xff0c;以及你希望用户可以忽…

代言男科、站台微商、变身神棍....这些科学家被捧了几十年,黑历史曝光后,让人三观尽毁......

全世界只有3.14 % 的人关注了爆炸吧知识说到诺贝尔奖得主&#xff0c;尤其科学类奖项&#xff0c;吃瓜群众的感受常常是:不明觉厉。关于他们有多牛x的故事&#xff0c;你肯定听了不少。但你一定很少听过&#xff0c;诺奖得主转而研究伪科学&#xff0c;或者为了恰饭疯狂掉节操的…

Android之手机出现已安装了存在签名冲突的同名数据包的原因及解决办法

如果你不是开发者&#xff1a;如果你在android上更新一个已经安装过较早版本软件时&#xff0c;安装到最后一步提示你&#xff1a;已安装了存在签名冲突的同名数据包&#xff0c;然后安装失败。这是因为旧版软件的签名信息与新版不一致造成的。你可以卸载这个软件&#xff0c;然…

bmp文件c语言程序解读,bmp文件头_C语言解析BMP文件的结构

摘要 腾兴网为您分享:C语言解析BMP文件的结构&#xff0c;周公解梦&#xff0c;小睡眠&#xff0c;完美志愿&#xff0c;琦书屋等软件知识&#xff0c;以及今日头条&#xff0c;广告点击软件&#xff0c;迅雷资源搜索引擎&#xff0c;东兴证券软件&#xff0c;一键盘锁屏&#…

使用Outlook 2007连接到Exchange Server 2003、2007时出现没有默认网关的错误

在使用Outlook 2007作为客户端连接到Exchange Server 2003/2007时&#xff0c;会出现一个错误提示&#xff1a;"到Microsoft Exchange的连接不可用。您的网络适配器没有默认网关。"解决方法&#xff1a;1. 单击“开始”&#xff0c;单击“运行”&#xff0c;在“打开…

C# WPF MVVM开发框架Caliburn.Micro入门介绍①

01—Caliburn.Micro简介Caliburn.Micro是一套基于XAML的MVVM模式的开发框架&#xff0c;它小巧而强大。在CaliburnMicro中只需要按照约定把View的名字加上后缀ViewModel&#xff0c;就是它的View Model 的名字&#xff0c;如:MainPage和 MainPageViewModel。Caliburn.Micro自动…

深度分析 Java 的 ClassLoader 机制(源码级别)(转)

写在前面&#xff1a;Java中的所有类&#xff0c;必须被装载到jvm中才能运行&#xff0c;这个装载工作是由jvm中的类装载器完成的&#xff0c;类装载器所做的工作实质是把类文件从硬盘读取到内存中&#xff0c;JVM在加载类的时候&#xff0c;都是通过ClassLoader的loadClass&am…

Struts2和Struts1的不同

转载&#xff08;没看懂&#xff09; Action 类 ◆Struts1要求Action类继承一个抽象基类org.apache.struts.action.Action。Struts1的一个普遍问题是使用抽象类编程而不是接口。 ◆Struts 2 Action类可以实现一个Action接口&#xff0c;也可实现其他接口&#xff0c;使可选和定…

拉屎能赚钱?在马桶上月入过万?原来卫生间里还有这么多隐藏福利,超模君都惊了……

全世界只有3.14 % 的人关注了爆炸吧知识模友们&#xff0c;你们有过“带薪拉屎”的经历吗&#xff1f;没错&#xff0c;假如我们每天花10分钟“带薪拉屎”&#xff0c;那一年大概能积攒下来40小时&#xff0c;假如我们每天工作8小时&#xff0c;等于多了5天年假&#xff0c;白嫖…