Как скопировать содержимое richtextbox со ссылкой? - PullRequest
0 голосов
/ 16 мая 2019

Я хочу скопировать содержимое richtextbox с сохранением формата и гиперссылок.Но он был скопирован как обычный текст без гиперссылок.Я использую linklabel в 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);

Можете ли вы помочь мне решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

RichTextBox не содержит гиперссылки, как в HTML.

Он только определяет, выглядит ли определенный текст как ссылка и автоматически окрашивает его в синий цвет, добавляет подчеркивание и определяет, нажимает ли пользователь на него.

Это происходит, если для свойства RichTextBox.DetectUrls установлено значение true.

Если вы копируете данные в новый RichTextBox и не видите ссылку, обнаруженную вдругой RichTextBox, тогда вам просто нужно установить для этого свойства значение true, прежде чем копировать текст.

С другой стороны, если вам нужны реальные ссылки, так что текст - это одно, а ссылка - это другой взгляд. здесь .

0 голосов
/ 16 мая 2019

Гиперссылки - это просто способ использования гипертекстовых ссылок внутри редактора, который способен отображать их как таковые.

При копировании текста из текстового поля можно копировать только сам текст.

Обратите внимание, что RichTextBox.SelectedRtf является свойством типа string.

...