根据宽根据宽度来决定显示的字符串长度 (C#,VS2005)度来决定显示的字符串长度 (C#,VS2005)
2010-01-07 10:36
316 查看
根据宽度来决定显示的字符串长度 (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;
}
}
/// <summary>
/// 获取字符串在 font时的长度
/// </summary>
private int FontWidth(Font font, Control control, string str)
{
using (Graphics g = control.CreateGraphics())
{
SizeF siF = g.MeasureString(str, font);
return (int)siF.Width;
}
}
如果 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;
}
}
/// <summary>
/// 获取字符串在 font时的长度
/// </summary>
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#)
- 高效率的C#截取指定长度字符串,大于指定长度的,在末尾显示指定字符,默认为"..."
- 高效率的C#截取指定长度字符串,大于指定长度的,在末尾显示指定字符,默认为"..."
- J2ME 根据显示宽度分割字符串
- swfit3.0 根据字符串长度,和字号大小计算长度或宽度
- C# 截取中英文混合字符串分行显示宽度相同
- 如何根据表格的宽度修改td内字符串长度
- html页面中根据div长度显示标题(截取字符串)
- iOS UILabel根据字符串长度自动适应宽度和高度
- JLabel 保证字符串显示的长度为JLable的宽度
- c#.winform,datagridview,数组,绑定,字符串,字符串数组绑定datagridview显示,长度,显示数组内容
- 根据字符串的实际长度,获取合适长度的字符串(汉字占2个字符的宽度,其他字符占1个字符的宽度)
- [WPF]根据显示区域宽度裁剪字符串
- NSString根据宽度获得能显示出的字符串
- J2ME 根据显示宽度分割字符串
- C# 截取中英文混合字符串分行显示宽度相同
- c# 超长字符串截取固定长度后显示...(超长后面显示点点点) 通用方法
- iOS小demo之根据label的宽度计算字符串显示需要的高度
- C# 截取中英文混合字符串分行显示宽度相同