我试图将HTML和纯文本的剪贴板同时放入其中,以便支持HTML的编辑器可以粘贴HTML,而其他编辑器也可以使用纯文本。
Clipboard.SetData(DataFormats.Html, htmlWithHeader);
Clipboard.SetData(DataFormats.UnicodeText, plainText);
但实际上只有最后一种格式被放到剪贴板上。在上面的示例中,剪贴板将只包含纯文本(如Clipboard.GetDataObject().GetFormats()
所示)。如果我交换行,剪贴板将只有HTML格式。
如何将两种格式同时放入剪贴板?
发布于 2013-04-29 19:57:53
不能同时使用Clipboard.SetData
设置HTML和纯文本。第二次调用SetData将清除第一次调用设置的剪贴板内容,并存储新数据。
您应该使用DataObject和Clipboard.SetDataObject()。
示例:
DataObject dataObj = new DataObject();
dataObj.SetData(DataFormats.Html, htmlWithHeader);
dataObj.SetData(DataFormats.Text, plainText);
Clipboard.SetDataObject(dataObj);
https://stackoverflow.com/questions/16286957
复制