Microsoft Chart Control のオブジェクトを複製するための推奨される方法は何ですか? これはサードパーティのライブラリであるため、オブジェクトをシリアル化可能としてマークできないため、ここで説明したソリューションを使用できません。
できれば、チャートを複製するためのサード パーティ コントロールを導入したくありません。
チャートはすでにシリアライズ可能であるため、シリアライズ可能としてマークする必要はありません。詳細については、このMS チャートのドキュメントを参照してください。
ここから、チャートを文字列にシリアル化し、すぐに文字列をチャート オブジェクトの新しいインスタンスに逆シリアル化できます。これはクローン作成と同様に機能し、質問で言及されている回答が行っていることのようです。おそらくこれを行うための最も効率的な方法ではありませんが、うまくいきます
編集
このコードはテストされていませんが、動作するはずです (これを達成する方法についてはかなり正確にしてください)
Chart chart1 = new Chart();
//Enter your chart building code here
System.IO.MemoryStream myStream = new System.IO.MemoryStream();
Chart chart2 = new Chart();
chart1.Serializer.Save(myStream);
chart2.Serializer.Load(myStream);
これはあなたの質問に正確に答えるものではありませんが、機能の実装に役立つ可能性があります.コントロールのDrill Down
機能を使用しChart
て、ユーザーがクリックしたチャートの部分の詳細ビューを生成できます. mschartのサンプル環境を参照してください。