ответ Ксавьера правильно; в соответствии с documentation вам нужно приложить URL-адрес в кавычки. Это будет регистрировать выбор только как ссылку на barebones без какого-либо специального вычисленного стиля (т. Е. Ваша ссылка не будет выглядеть иначе, чем обычный текст, но на самом деле это ссылка). Как правило, ссылки оформлены с подчеркиванием, и сделать так, вы бы отметить его как RTF field так:
var sel = control.Document.Selection;
var rtf = @"{\rtf1{\field{\*\fldinst HYPERLINK ""http://www.bing.com""}{\fldrslt{\ul " + sel.Text + "}}}}";
sel.SetText(TextSetOptions.FormatRtf, rtf);
Я не слишком хорошо знаком с RTF, так что я, если приведенный выше код не знаю это самый правильный способ, но он работает. Похоже, что API-интерфейсы с богатым текстом действительно не имеют приятного способа манипулирования полями, поэтому мне пришлось прибегать к необработанной разметке RTF.
Что вызывает исключение? Какая линия? Что такое ошибка ** текст **? Где вы назвали функцию? – devRicher
@devRicher: В вопросе есть только одна исполняемая строка, и в ней указан текст ошибки. –
Я назвал его нажатием кнопки, передал ссылку RichEditBox –