我将 WinForms 与 ChartFX 的 WinForms 版本一起使用,并尝试将图表转换为元文件并将其放在剪贴板中。我确定在下面的代码中正确创建了元文件,但是当我在应用程序中复制并尝试粘贴到另一个时,它是不成功的。
using (var memoryStream = new MemoryStream())
{
chart1.Export(FileFormat.Metafile, memoryStream);
memoryStream.Position = 0;
var metaFileImage = Image.FromStream(memoryStream);
var dataObj = new DataObject();
dataObj.SetData(DataFormats.EnhancedMetafile, metaFileImage);
Clipboard.SetDataObject(dataObj);
}
如何正确地将元文件复制到剪贴板?我也试过 Clipboard.SetImage(metaFileImage); 将其转换为位图。我什至试过 Clipboard.SetData(metaFileImage.GetType().FullName, metaFileImage); 但它和原始代码一样吗?
令人讨厌的是,您可以从 ChartFX 的工具栏中执行此操作,但它们不会公开任何命令,因此当用户按下 Ctrl+C 时我无法调用它。