首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一个多行的label,怎么分别得到每行的文字内容

2012-09-23 
一个多行的label,如何分别得到每行的文字内容?有一个多行的label,显示内容为:中华人民DF21共和国二炮部队

一个多行的label,如何分别得到每行的文字内容?
有一个多行的label,显示内容为:

中华人民DF21共和国二炮
部队后勤1处

如何分别提取出各行显示的内容?

[解决办法]
string S=Label1.Text;
Console.WriteLine(S.Split("\n"))(0)
Console.WriteLine(S.Split("\n"))(1)
[解决办法]

C# code
string[] result=Regex.Split(this.label1.Text,@"\r\n");
[解决办法]
Console.WriteLine(label1.Text.Split('\n')[0]);
Console.WriteLine(label1.Text.Split('\n')[1]);
[解决办法]
那就应该计算字符串长度跟label宽度对比,得出每行
方法
C# code
private List<string> GetStr(string str, List<string> _list,int width,Font font)        {            if(_list==null)             _list = new List<string>();            for (int i = 0; i < str.Length; i++)            {                string temp = str.Substring(0, i + 1);                Graphics g = this.CreateGraphics();                SizeF siF = g.MeasureString(temp, font);                if (siF.Width > width)                {                    temp = temp.Remove(temp.Length-1);                    _list.Add(temp);                    str=str.Replace(temp, string.Empty);                    return GetStr(str, _list, width, font);                }            }            return _list;        } 

热点排行