使用c#创建和复制带有文本/标题的超链接到剪贴板

在各种程序中,您可以将超链接复制到剪贴板并将其粘贴到其他应用程序中。 例如,可以将本页底部的“反馈始终欢迎”链接复制并粘贴到MS Word中。 我想以编程方式创建这样的链接,将其复制到剪贴板,然后能够将其粘贴到其他位置。

例如,带有映射到stackoverflow.com的文本Stack的链接。

我用Clipboard.SetData尝试了各种各样的东西,但似乎没有什么可以做的。

(我正在使用VS2010中的Windows表单应用程序,.NET4.0)

我不知道你正在使用的架构,但无论如何你只需复制剪贴板中的URL。

例如,假设您有一个名为myHyperlinkHyperLink控件和一个名为copyButtonButton

当用户单击该按钮时,您只需使用Clipboard.SetText(string)myHyperlink的URL属性传递给该方法。

编辑:要在Word等其他程序中显示带标题的超链接,您必须使用特定标题以HTML方式设置文本。

 Version:0.9 StartHTML:<<<<<<<1 EndHTML:<<<<<<<2 StartFragment:<<<<<<<3 EndFragment:<<<<<<<4 SourceURL: www.google.it    programmers    

这是HTML的一个例子,让我们试着用C#来概括它:

 private const string html = @"Version:0.9 StartHTML:<<<<<<<1 EndHTML:<<<<<<<2 StartFragment:<<<<<<<3 EndFragment:<<<<<<<4 SourceURL: https://stackoverflow.com/questions/4593419/create-and-copy-hyperlink-with-text-caption-to-clipboard-with-c-sharp/{0}    {1}   "; 

然后使用如下:

 string link = String.Format(html, "http://www.google.it", "Google"); Clipboard.SetText(link, TextDataFormat.Html);