在各种程序中,您可以将超链接复制到剪贴板并将其粘贴到其他应用程序中。例如,可以将本页底部的“反馈始终欢迎”链接复制并粘贴到MS Word中。我想以编程方式创建这样的链接,将其复制到剪贴板,然后能够将其粘贴到其他位置。
例如,带有文本的链接 堆 映射到 stackoverflow.com。
我用Clipboard.SetData尝试了各种各样的东西,但似乎没有什么可以做的。
(我正在使用VS2010中的Windows表单应用程序,.NET4.0)
在各种程序中,您可以将超链接复制到剪贴板并将其粘贴到其他应用程序中。例如,可以将本页底部的“反馈始终欢迎”链接复制并粘贴到MS Word中。我想以编程方式创建这样的链接,将其复制到剪贴板,然后能够将其粘贴到其他位置。
例如,带有文本的链接 堆 映射到 stackoverflow.com。
我用Clipboard.SetData尝试了各种各样的东西,但似乎没有什么可以做的。
(我正在使用VS2010中的Windows表单应用程序,.NET4.0)
我不知道你正在使用的架构,但无论如何你只需复制剪贴板中的URL。
例如,假设你有一个 HyperLink
控制命名 myHyperlink 和a Button
命名 复制按钮。
当用户单击您刚要使用的按钮时 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);