一个多行的label,如何分别得到每行的文字内容?
有一个多行的label,显示内容为:中华人民DF21共和国二炮部队后勤1处如何分别提取出各行显示的内容?...
有一个多行的label,显示内容为:中华人民DF21共和国二炮部队后勤1处如何分别提取出各行显示的内容?
展开
1个回答
2013-11-25
展开全部
那就应该计算字符串长度跟label宽度对比,得出每行方法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; }调用List<string> result = GetStr(this.label1.Text,null,this.label1.Width,this.label1.Font);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询