///
/// 超出指定长度自动换行
///
/// 要判断的字符串
/// 一行允许设置的字符数(汉字占2个长度)
///
public string AutoChageLine(string str, int len)
{
StringBuilder sb = new StringBuilder();
int count = 0; //统计个数
for (int i = 0; i < str.Length; i++)
{
char chr = str[i];
if (IsChinese(chr)) count += 2;
else count += 1;
if (count == len)
{
sb.Append(chr + "\r\n");
count = 0;
}
else if (count > len)
{
sb.Append("\r\n" + chr);
if (IsChinese(chr)) count = 2;
else count = 1;
}
else
{
sb.Append(chr);
}
}
return sb.ToString();
}
public bool IsChinese(char chr)
{
bool isChinese = false;
//if ((int)str[i] > 127)//判断是否是汉字
if ((int)chr > 0x4E00 && (int)chr < 0x9FA5)
{
isChinese = true;
}
else
{
isChinese = false; ;
}
return isChinese;
}
因篇幅问题不能全部显示,请点此查看更多更全内容