winform中richtextbox输出文本没有换行

winform中richtextbox输出文本没有换行,第1张

可以在写入文件之前, 把string 内容做一个替换:

string str = ritchBox.Text.replace( "\n", "\r\n")

然后把str写入文件

richtextbox是一种用于在Windows应用程序中显示和编辑格式文本的控件。它允许用户使用文本、图像、表格和其他对象来创建复杂的文档,而不会失去任何功能。它支持多行文本,但是不能换行;要在richtextbox中进行换行,需要使用Ctrl + Enter键。

我想到两种可能

1. 编码问题。

2. 要看下RichText的实现,我之前做过一个RichText,其出现乱码的原因和我的实现有关:

比如,一段文本:str = "哈哈哈哈哈哈哈哈哈哈",一共10个'哈',UTF8下,一个'哈'占3个字节,string.len(str) 就是3x10=30,换行时,假如我需要截取前面7个字符,后面三个要换到下一行,可能需要:string.sub(1, 7*3),这个地方容易出错。如果对上面的字符截取错了,就会出乱码。解决这种问题,一般要对UTF8中英文处理一下,封装一个类似 utf8_sub 的方法。

不知道你的情况是不是和我一样。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11927349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存