【问题标题】:copy RichTextBox content and paste to Hotmail, Yahoo like Rich Text Editor复制 RichTextBox 内容并粘贴到 Hotmail、Yahoo 之类的富文本编辑器
【发布时间】:2015-07-02 16:53:37
【问题描述】:

在我的 vb.net 应用程序中,我想复制 RichTextBox1 的内容并粘贴到

Hotmail,类似于 Yahoo 的富文本编辑器。

这是我到目前为止所做的,但它只复制和粘贴文本,不包含图像和格式。

RichTextBox1.LoadFile("test.rtf")
' Get the text from your rich text box
Dim textContents As String = RichTextBox1.Rtf
' Copy the text to the clipboard
Clipboard.SetText(textContents, TextDataFormat.Rtf)  
RichTextBox1.Copy() 
WebBrowser1.Document.GetElementById("rtetext").InnerText = Clipboard.GetText(TextDataFormat.Rtf)

第一次觉得这问题不难,现在觉得这不是简单的问题。

我在 google 中引用和搜索了很多,但只能复制和粘贴文本。

任何帮助都非常感谢

【问题讨论】:

  • 你能用DataFormats.Rtf代替TextDataFormat.Rtf吗?当然,如果接收者并不真正期望 Rtf 而是说 Html 格式的文本,则它不会起作用..
  • 我测试过但它不起作用,RichTextBox1.LoadFile("image/test.rtf") Clipboard.Clear() Dim data As New DataObject() data.SetData(DataFormats.Text, RichTextBox1.SelectedText ) data.SetData(DataFormats.Rtf, RichTextBox1.SelectedRtf) Clipboard.SetDataObject(data) WebBrowser1.Document.GetElementById("rtetext").InnerText = Clipboard.GetDataObject().GetData(DataFormats.Rtf)
  • 填充结果为 {\rtf1\fbidis\ansi\ansicpg949\deff0\deflang1033\deflangfe1042\deftab800{\info{\horzdoc}{*\lchars $([\'5c\'7b\' a1\'cc\'a1\'cd\'a1\'ae\'a1\'b0\'a1\'b4\'a1\'b6\'a1\'b8\'a1\'ba\'a1\ 'bc\'a1\'b2\'a3\'a4\'a3\'a8\'a3\'db\'a3\'fb\'a1\'cc\'a1\'cd\'a3\'dc }{*\fchars !%),.:\'3b?]\'7d\'a1\'cb\'a1\'c6\'a1\'af\'a1\'b1\'a1\'c7\ 'a1\'c8\'a1\'c9\'a1\'b5\'a1\'b7\'a1\'b9\'a1\'bb\'a1\'bd\'a1\'b3\'a3 \'a1\'a3\'a5\'a3\'a9\'a3\'ac\'a3\'ae\'a3\'ba\'a3\'bb\'a3\'bf\'a3\' dd\'a3\'fd\'a1\'cb}} \uc1 }

标签: c# .net vb.net richtextbox


【解决方案1】:

我不记得如何做到这一点的确切细节,但希望这会有所帮助。

首先,您同时使用了RichTextBox.CopyClipboard.SetText,这似乎是多余的。 其次,ClipBoard.SetText 的使用意味着您只是在复制文本,如果您想获取所有数据我认为您需要查看Clipboard.SetDataObject

【讨论】:

  • 我检查了这个方法,但不幸的是它也只能复制文本。谢谢
  • @softfx 不,这是不正确的。您绝对可以使用它来复制文本以外的其他数据。我不确定你是否能做你想做的事,但你可以用它来复制各种数据,这是一个带有示例的 MSDN 页面:msdn.microsoft.com/en-us/library/637ys738%28v=vs.110%29.aspx
  • RichTextBox1.LoadFile("test.rtf") Clipboard.SetDataObject(RichTextBox1.Text, False) WebBrowser1.Document.GetElementById("rtetext").InnerText = Clipboard.GetDataObject().GetData(DataFormats .Rtf) 我试过这段代码,但只有文本和格式可以复制和粘贴,但不能复制和粘贴图像。
  • @softfx 这与我提到的页面上的示例中的代码不同。转到我之前评论中提到的页面,然后向下滚动,直到看到名为 To add data to the Clipboard in multiple formats 的部分。这个例子展示了如何添加一个对象而不仅仅是文本。
猜你喜欢
  • 1970-01-01
  • 2010-09-30
  • 1970-01-01
  • 1970-01-01
  • 2021-07-09
  • 1970-01-01
  • 2019-04-18
  • 1970-01-01
  • 2018-10-26
相关资源
最近更新 更多