I'm trying to put in the clipboard piece of HTML and plain text at the same time, so that HTML-capable editors could paste HTML, and other editors could use plain text.
Clipboard.SetData(DataFormats.Html, htmlWithHeader);
Clipboard.SetData(DataFormats.UnicodeText, plainText);
But only the last format is actually put to the clipboard. In the sample above, clipboard would contain only plaintext (as shown by Clipboard.GetDataObject().GetFormats()
). And if I swap the lines, the clipboard would have only the HTML format.
How can I put both formats into the clipboard at the same time?
You can NOT use
Clipboard.SetData
for setting both HTML and plain text. The second call of SetData will clear the content of clipboard that has been set by first call and store the new data.You should use DataObject and Clipboard.SetDataObject().
Example: