c#获取字符串宽度(像数方法)
2011-09-08 14:17
197 查看
private ArrayList GetSeparateSubString(string mOrigianlString, float subStringCharNumber)
{
ArrayList resultList = new ArrayList();
string tempStr = mOrigianlString;
float charNumber = subStringCharNumber;
float totalWidth = 0f;
string mSubStr = "";
for (int i = 0; i < tempStr.Length; i++)
{
string mChar = tempStr.Substring(i, 1);
Graphics grap = this.CreateGraphics();
grap.PageUnit = GraphicsUnit.Pixel;
Font f = new Font("MS P明朝",9);
float fWidth = grap.MeasureString(mChar, f).Width;
totalWidth += fWidth;
if (totalWidth - fWidth / 2 > charNumber ) //球越过门线没有?
{
resultList.Add(mSubStr);
if (i == tempStr.Length - 1)
{
mSubStr = mChar;
resultList.Add(mSubStr);
}
else
{
totalWidth = fWidth;
mSubStr = mChar;
}
}
else if (totalWidth == charNumber)
{
mSubStr += mChar;
resultList.Add(mSubStr);
totalWidth = 0;
mSubStr = "";
}
else if (i == tempStr.Length - 1)
{
mSubStr += mChar;
resultList.Add(mSubStr);
}
else
{
mSubStr += mChar;
}
}
return resultList;
}
{
ArrayList resultList = new ArrayList();
string tempStr = mOrigianlString;
float charNumber = subStringCharNumber;
float totalWidth = 0f;
string mSubStr = "";
for (int i = 0; i < tempStr.Length; i++)
{
string mChar = tempStr.Substring(i, 1);
Graphics grap = this.CreateGraphics();
grap.PageUnit = GraphicsUnit.Pixel;
Font f = new Font("MS P明朝",9);
float fWidth = grap.MeasureString(mChar, f).Width;
totalWidth += fWidth;
if (totalWidth - fWidth / 2 > charNumber ) //球越过门线没有?
{
resultList.Add(mSubStr);
if (i == tempStr.Length - 1)
{
mSubStr = mChar;
resultList.Add(mSubStr);
}
else
{
totalWidth = fWidth;
mSubStr = mChar;
}
}
else if (totalWidth == charNumber)
{
mSubStr += mChar;
resultList.Add(mSubStr);
totalWidth = 0;
mSubStr = "";
}
else if (i == tempStr.Length - 1)
{
mSubStr += mChar;
resultList.Add(mSubStr);
}
else
{
mSubStr += mChar;
}
}
return resultList;
}
相关文章推荐
- c#获取字符串宽度的示例代码(字节数方法)
- c#获取字符串宽度(字节数方法)
- C#获取汉字字符串拼音首字母的方法
- C#实现字符串,文件获取Md5加密校验方法
- asp.net中C#获取字符串中汉字的个数的具体实现方法
- C# 根据包含文件的路径和文件的名称的字符串获取文件名称的几种方法
- C#实现 获取指定字节长度 中英文混合字符串 的方法
- C#实现 获取指定字节长度 中英文混合字符串 的方法
- C#实现 获取指定字节长度 中英文混合字符串 的方法
- C#实现 获取指定字节长度 中英文混合字符串 的方法
- C#中获取字符串字节长度的方法
- C#字符串中获取指定行的方法
- C#获取文件MD5值或者字符串MD5值方法
- C#实现 获取指定字节长度 中英文混合字符串 的方法
- 安卓获取TextView中字符串占屏幕宽度的方法
- C#与JS实现 获取指定字节长度 中英文混合字符串 的方法
- C#获取字符串后几位数的方法
- C#实现 获取指定字节长度 中英文混合字符串 的方法
- 谈谈c#中 全角 半角 汉字 大小写字母的宽度 及中英文混合字符串对齐的方法
- C# 根据包含文件的路径和文件的名称的字符串获取文件名称的几种方法