3

我将 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 时我无法调用它。

4

1 回答 1

3

也许这也解释了你的情况发生了什么:

http://support.microsoft.com/kb/323530

于 2013-06-06T14:38:43.663 回答