Я не знаю архитектуру, с которой вы работаете, но в любом случае вам просто нужно скопировать URL в буфер обмена.
Например, если у вас есть элемент управления HyperLink
с именем myHyperlink и Button
с именем copyButton .
Когда пользователь нажимает кнопку, которую вы просто используете, Clipboard.SetText(string)
передает методу свойство URL myHyperlink .
РЕДАКТИРОВАТЬ: Чтобы показать гиперссылку с заголовком в другой программе, такой как Word, необходимо установить текст в формате HTML с определенным заголовком.
Version:0.9
StartHTML:<<<<<<<1
EndHTML:<<<<<<<2
StartFragment:<<<<<<<3
EndFragment:<<<<<<<4
SourceURL: www.google.it
<html>
<body>
<!--StartFragment-->
<a href="http://programmers.stackexchange.com/">programmers</a></span></span>
<!--EndFragment-->
</body>
</html>
Это пример HTML, давайте попробуем обобщить его в C #:
private const string html = @"Version:0.9
StartHTML:<<<<<<<1
EndHTML:<<<<<<<2
StartFragment:<<<<<<<3
EndFragment:<<<<<<<4
SourceURL: {0}
<html>
<body>
<!--StartFragment-->
<a href='{0}'>{1}</a>
<!--EndFragment-->
</body>
</html>";
А затем используйте его следующим образом:
string link = String.Format(html, "http://www.google.it", "Google");
Clipboard.SetText(link, TextDataFormat.Html);