关于richtextbox的自动换行读取问题

Hou_Rj 2011-11-04 12:04:50
问题:richtextbox会自动换行,我想读取其自动换行后的一行
例如:
1. 原串:这是一个测试的例子。

2. richtextbox自动换行后:这是一个测试的
例子。

如果想获得第一行:“这是一个测试”,第二行:“例子”,请问有什么方法?

解法:我用MeasureString算出字符串的宽度,然后与richtextbox的宽度对比,这可以获得richtextbox宽度的字符串。但是有误差,并且当有英文时,如下:
1. 原串:这是一个abcedefghi

2. 用MeasureString方法:这是一个abcedef
ghi

3. richtextbox自动换行后:这是一个
abcedfeghi

请问有什么方法可以解决这个问题?谢谢
...全文
510 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
大胡子陈工 2014-04-01
  • 打赏
  • 举报
回复
楼主该问题有解决了吗?最近我也在苦恼这个问题
xiaozhunamen 2013-09-17
  • 打赏
  • 举报
回复
RichTextBox.Lines获取到的是根据\r\n分割的,并不是实际意义的一行数据。而且RichTextBox认为自动换行的属于同一行数据。请问楼主有解决方案么?
xiaozhunamen 2013-09-17
  • 打赏
  • 举报
回复
这个问题竟然没解决?
gaozqq 2011-11-06
  • 打赏
  • 举报
回复
自动换行本来就不会太精确,遇到英中混排更是无语!
你这问题和我遇到的基本是一样!
我想通过物理行得到每行字符串!
搞好好久也无解!!!
9527 2011-11-05
  • 打赏
  • 举报
回复
楼主说的问题,我在vs2005上试了下,怎么没出现呢?
WordWrap是否设置为true了?
黄亮 2011-11-05
  • 打赏
  • 举报
回复
richtextbox即便是自动换行后,它的lines数量还是1.应给是无解的,如果你的字符串都是字母的话你可以考虑自己计算每行多少个字符来统计。

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧