1

我想复制richtextbox 内容并保持格式相同和超链接。但它被复制为没有超链接的纯文本。我在富文本框中使用链接标签。

private void Bttn_copy_Click(object sender, EventArgs e)
    {
        richtxtbx_email.SelectAll();

        Clipboard.Clear();
        Clipboard.SetText(richtxtbx_email.SelectedRtf, TextDataFormat.Rtf);
    }

并尝试这个:

DataObject dto = new DataObject();
dto.SetText(mesrtf, TextDataFormat.Rtf);
dto.SetText(mes, TextDataFormat.UnicodeText);
Clipboard.Clear();
Clipboard.SetDataObject(dto);

你能帮我解决这个问题吗?

4

2 回答 2

0

超链接只是在编辑器中使用超文本链接的一种方式,它能够像这样呈现它们。

从文本框中复制文本时,您只能复制明文本身。

请注意,RichTextBox.SelectedRtf 是字符串类型的属性。

于 2019-05-16T12:27:44.913 回答
0

RichTextBox 不像 HTML 那样拥有超链接。

它只检测某个文本是否看起来像一个链接,并自动将其着色为蓝色,添加下划线并检测用户是否单击它。

如果RichTextBox.DetectUrls 属性设置为 true,它会这样做。

如果您将数据复制到一个新的 RichTextBox 并且没有看到在另一个 RichTextBox 中检测到的链接,那么您只需在复制文本之前将此属性设置为 true。

另一方面,如果您需要真正的链接,以便文本是一回事,链接是另一回事,请查看此处

于 2019-05-16T12:44:45.873 回答