两次获得相同的富文本格式并不相同

时间:2013-07-18 21:19:20

标签: vb.net richtextbox clipboard equality

我尝试过以下代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    'Copy clipboard text twice
    TextBox1.Text = Clipboard.GetText(TextDataFormat.Rtf)
    TextBox2.Text = Clipboard.GetText(TextDataFormat.Rtf)

    If TextBox1.Text = TextBox2.Text Then
        'this is the output while copying from Notepad
        OutputTextBox.Text = "True"

    Else
        'this is the output while copying from MS Word
        OutputTextBox.Text = "False"
    End If

End Sub

当我从MS Word复制文本时,两次获取富文本格式是不一样的。虽然文本已复制一次并分配了两次。

我的代码出了什么问题?

1 个答案:

答案 0 :(得分:1)

你的代码很好。

从Word获取剪贴板内容时,将从正在运行的Word实例中检索数据。 (关闭Word,你会看到剪贴板是空的。)当检索到数据时,由于某种原因,Word会碰撞RSID(修订版保存ID)。

http://answers.google.com/answers/threadview/id/46805.html Oldde但Goodie在这种情况下。

FYI WinMerge是一个很好的文件GUI比较工具。 NotePad ++有一个很好的比较加载项。

以下是两个电话的差异: {* \ rsidtbl \ rsid4800747 \ rsid12415067} {* \ rsidtbl \ rsid4800747 \ rsid13042328}