如何克隆微软图表控件?

克隆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); 

这并不能完全回答您的问题,但它可以帮助您实现您的function。您可以使用Chart控件的“ Drill Downfunction生成用户单击的图表部分的详细视图。 请参阅mschart的示例环境 。