如何复制都 - HTML和文本复制到剪贴板?(How to copy both - HTML an

2019-09-01 09:38发布

我试图把在同一时间剪贴板一块HTML和纯文本,使HTML的编辑器可以粘贴HTML,和其他编辑可以使用纯文本。

Clipboard.SetData(DataFormats.Html, htmlWithHeader);
Clipboard.SetData(DataFormats.UnicodeText, plainText);

但只有最后格式居然把到剪贴板。 在上面的示例,剪贴板将只包含明文(如图Clipboard.GetDataObject().GetFormats() 如果我换行,剪贴板将只具有HTML格式。

我怎样才能把两种格式到剪贴板在同一时间?

Answer 1:

你不能使用Clipboard.SetData设置HTML和纯文本。 SetData的的第二个电话会清除已设置的第一个电话剪贴板的内容和存储的新数据。

您应该使用数据对象和Clipboard.SetDataObject() 。

例:

DataObject dataObj = new DataObject();
dataObj.SetData(DataFormats.Html, htmlWithHeader);
dataObj.SetData(DataFormats.Text, plainText);

Clipboard.SetDataObject(dataObj);


文章来源: How to copy both - HTML and text to the clipboard?