3

ChartFXのWinFormsバージョンと一緒に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 に答える