vb.net写入换行符,在使用Clipboard.SetText放发,换行符不显示。

cjqshen 2018-07-05 11:12:17
向RichTextBox1控件写入多行数据,循环体内代码如下:
RichTextBox1.Text=RichTextBox1.Text & TempString & vbcrlf
之后有个Button控件,将RichTextBox1.Text的数据写入剪切板,代码如下:
Clipboard.SetText(RichTextBox1.Text)
之后打开文本文档,ctrl+V粘贴便出现问题。
问题是Button方法RichTextBox1中显示的多行数据在文本文档中显示是单行,但手动复制RichTextBox1中的内容粘贴至文本文档却是多行,不知道问题出现在何处。保存文档后,用winhex打开文档,可以看到Clipboard.SetText方法换行处是“0A”,人工复制时是“0D0A”,想请教高手如何解决这个问题。
...全文
869 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_39938292 2019-02-27
  • 打赏
  • 举报
回复
六楼大神 检测字符是否匹配 或者直接匹配字符 给提供个方案呗
qbilbo 2018-12-26
  • 打赏
  • 举报
回复
Clipboard.SetText(RichTextBox1.Text.Replace(vbLf, vbNewLine))
goodkenneth 2018-12-26
  • 打赏
  • 举报
回复
都答非所问。。

题主问的是 Clipboard.SetText()这个方法。

会把本应该是多行的数据。。 粘贴了来 全挤在了一行。分行符不见了。 (这里的分行符 不是自己用的。是复制来的文本里的)
  • 打赏
  • 举报
回复
不要使用“vbcrlf”,而是使用“System.Environment.NewLine”就可以根据系统需求自动切换实际的char,也不要随便使用Chr(10)或13.
李雪鹏 2018-08-20
  • 打赏
  • 举报
回复
说实话,我被楼主绕来绕去的描述绕晕了也没有完全明白你想表达什么意思。
但我大概了解到,你所遇到的问题是RichTextBox换行的问题。

我给你看一段解释,你即可解决问题。


vbCrLf=Chr(13) + Chr(10)'回车/换行组合符。
vbCr=Chr(13)'回车符。
vbLf=Chr(10)’换行符。
lalawo72 2018-07-23
  • 打赏
  • 举报
回复
Button控件代码
RichTextBox1.SelectAll()
RichTextBox1.Copy()

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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