In all sorts of programs you can copy hyperlinks to clipboard and paste them into other applications. E g the ’feedback always welcome’ link at the bottom of this page can be copied and pasted into MS Word. I want to create such a link programmatically, copy it to the Clipboard and then be able to paste it somewhere else.
For example a link with the text Stack that maps to stackoverflow.com.
I’ve tried all sorts of things with Clipboard.SetData but nothing seems to do the trick.
(I'm working on a Windows form application in VS2010, .NET4.0)
Copy/paste keyboard shortcuts to show web address or hyperlinked text. Normally, you can use Ctrl + C (copy) and Ctrl + V (paste). This is what will give you hyperlinked text instead of a web address by default.
Open the file that you want to copy items from. Select the first item that you want to copy, and press CTRL+C. Continue copying items from the same or other files until you have collected all of the items that you want. The Office Clipboard can hold up to 24 items.
Create a hyperlink to a location on the webSelect the text or picture that you want to display as a hyperlink. Press Ctrl+K. You can also right-click the text or picture and click Link on the shortcut menu. In the Insert Hyperlink box, type or paste your link in the Address box.
I don't know the architecture you're working with, but in any case you have just to copy the URL in the Clipboard.
For example, assuming you've got an HyperLink
control named myHyperlink and a Button
named copyButton.
When the user clicks the button you have just to use Clipboard.SetText(string)
passing to the method the URL Property of myHyperlink.
EDIT: To show an hyperlink with caption in another program like Word you have to set the text in a HTML way with a particular header.
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>
This is an example of HTML, let's try to generalize it in 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>";
And then use it as follows:
string link = String.Format(html, "http://www.google.it", "Google");
Clipboard.SetText(link, TextDataFormat.Html);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With