我想复制格式相同的内容和超链接的Richtextbox内容。但是它被复制为没有超链接的纯文本。我在richtextbox中使用linklabel。
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);
您能帮我解决这个问题吗?
答案 0 :(得分:0)
超链接只是在编辑器中使用超文本链接的一种方式,该链接能够将其呈现为此类。
从文本框中复制文本时,只能复制纯文本本身。
请注意,RichTextBox.SelectedRtf是字符串类型的属性。
答案 1 :(得分:0)
RichTextBox不像HTML那样保存超链接。
它仅检测特定文本是否看起来像链接,并自动将其涂成蓝色,添加下划线并检测用户是否单击它。
如果将RichTextBox.DetectUrls Property设置为true,则会这样做。
如果您正在将数据复制到新的RichTextBox,而在另一个RichTextBox中看不到检测到的链接,则只需在复制文本之前将此属性设置为true。
另一方面,如果您需要真实的链接,以便文本是一回事,而链接是另一回事,请查看here。