ale*_*lex 7 .net c# windows clipboard
我正在尝试同时放入HTML和纯文本的剪贴板,以便支持HTML的编辑器可以粘贴HTML,其他编辑器可以使用纯文本.
Clipboard.SetData(DataFormats.Html, htmlWithHeader);
Clipboard.SetData(DataFormats.UnicodeText, plainText);
Run Code Online (Sandbox Code Playgroud)
但只有最后一种格式实际上放在剪贴板上.在上面的示例中,剪贴板仅包含明文(如图所示 Clipboard.GetDataObject().GetFormats()
).如果我交换行,剪贴板将只有HTML格式.
如何将两种格式同时放入剪贴板?
Akr*_*awy 16
您不能Clipboard.SetData
用于设置HTML和纯文本.SetData的第二次调用将清除第一次调用设置的剪贴板内容并存储新数据.
您应该使用DataObject和Clipboard.SetDataObject().
例:
DataObject dataObj = new DataObject();
dataObj.SetData(DataFormats.Html, htmlWithHeader);
dataObj.SetData(DataFormats.Text, plainText);
Clipboard.SetDataObject(dataObj);
Run Code Online (Sandbox Code Playgroud)