两个Ms Chart共用一个Series时,Series的资源释放问题
来源:互联网 发布:知金教育咨询有限公司 编辑:程序博客网 时间:2024/06/05 14:42
在VS2008中用MS Chart控件做统计图,遇到这样一个问题,是关于Series资源释放的。(Series是每个Chart中要显示的数据列集合,每个Series[]有一个Points属性,可以加入多个数据点。) 问题:当有两个Chart添加了相同的Series[]时,当其中一个Chart被dispose掉后,它也将其拥有的Series[]的资源释放掉了(或者把所有对 该内存块的引用设置为null),而不管另外一个Chart是否对其有引用,这样当对另外一个Chart的Series[]进行操作时,就会产生“未将对象设置到引用”的错误。按道理讲,当堆内存块仍有引用的时候,是不应该释放掉的,但是在这里,只要关闭一个Chart,不管是否还有对这些Series[]的引用,Series[]一律释放回收。 解决:为了避免因为这种机制产生错误,有两个方法可以解决。第一个方法,把第一个Chart的Series传给第二个Chart时,重新生成一个新的Series,把原来Series的点复制到新的Series中去,相当于做了原来Series的一个副本(类似深拷贝),这样即使关闭第二个Chart,清除的也是作为副本的Series。第二个方法,两个Chart共用一个Series,但是关闭其中一个Chart的时候,在Closing事件函数中,Clear掉这个Chart的Series,即chart2.Series.Clear();,这样就不会去强行回收Series的内存了。第二个方法更简单些。
- 两个Ms Chart共用一个Series时,Series的资源释放问题
- 【技术文档】FusionCharts中Single Series Bar 2D Chart的一个应用
- Series
- C#使用chart控件设置Series名称显示的位置
- MS:Chart:Series 成員 饼图 文字Label 显示在饼外
- MS:Chart:Series 成員 饼图 文字Label 显示在饼外
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
- Chart控件,chart、Series、ChartArea曲线图绘制的重要属性介绍
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
- FLEX Chart: Using multiple data series
- sencha chart 1.0如何在chart中动态添加series
- Dell Optiplex 960 n series 释放SLIC
- chart控件运行时在右上角只显示series,其他部分空白
- [pandas] 转换DatetimeIndex为一个日期字符串的Series
- hdu 2108 判断凹包还是凸包
- Linux makefile 教程 非常详细,且易懂
- arcgis shape文件的格式
- discuz 经典php加密解密函数 authcode 解析
- Sweet!!!
- 两个Ms Chart共用一个Series时,Series的资源释放问题
- TCP segment of a reassembled PDU
- C++和Java中类引用的区别
- Java学习笔记
- 数据库连接池
- MTM操作
- [JAVA与模式]学习笔记 一
- 今晚开通CSDN博客,以后常来光顾
- 【小阅读^大脑袋】0407 NO.350