分享好友 最新动态首页 最新动态分类 切换频道
艾伟也谈项目管理,项目过程中所遇到的各种问题记录——有关MSChart的一些小技巧
2024-11-07 23:08

      完成了有关编辑器篇的内容,接下来记录下这一年里在有关图表使用过程中碰到的一些问题及个人的解决方法。

艾伟也谈项目管理,项目过程中所遇到的各种问题记录——有关MSChart的一些小技巧

  以下是本文所要介绍的内容:

1、MSChart基本概况介绍。

2、开发过程中碰到的问题及解决方法。

  一、MSChart基本概况介绍

       在开发一些管理系统的时候总会碰到一些需求需要对报表进行图形化的展示——图表,在微软的MSChart没出来前.NET的winforms下许多的图表控件不是要收费就是可使用的图表类型较少或者各种资料太少(也可能是我了解的太少),不过自从在VS2008上微软推出了MSChart后,在winforms上进行图表统计就方便了很多很多。

        MSChart分为2个部分,一个是winforms版本,另一个是webform版,并且都提供了相应的示例程序(超过200个示例代码,并包括C#版本和VB.NET版本,其中内置了多种图表类型,基本上涵盖了各行各业的所需的图表类型),使得开发者可以根据需求快速的找到自己所需的图表类型,同时查看示例代码可以马上上手进行开发,如下图:

pic89

当然本文不是介绍MSChart的具体是如何使用的,上面仅仅是对MSChart进行各简单性的介绍,本文主要介绍的内容还是在我开发过程中碰到问题。

  二、开发过程中碰到的问题及解决方法

  现在开始介绍下我所碰到的几个问题:

  1、如果在对于统计的类别数量不可数的情况下,如何解决生成的每个类别有不同的列?

  在公司年初开发的一个winforms程序中需要对用户自己定义的分类数据进行统计,而用户所创建的分类数量又是不定的(但不能超过10个),这时就碰到个问题:就是MSChart图表中的列如果想做的好看,吸引眼球需要进行大量的配置,比如:列的颜色、边框宽度、阴影等等,而每个用户建立的分类对应着一个列,本来的设想是根据数量动态生成对应的列,但是在实际的开发过程中,如果要保证每个列的样式达到统一,且颜色等又要区分的话,使用代码来动态生成太过于复杂。

我就想到了个不是办法的办法,就是由于用户自定义的分类是不可能超过10个的,所以我就事先在图标中建立好了10个列,根据用户建立的分类数量来对这些已经建立好的列进行数据填充,而那些没有填充数据的列就不会出现,这样的解决办法虽然比较的傻,但是实际的效果很不错,毕竟动态创建的列要保证样式统一需要花时间调试,而且不像直接通过配置创建出来的列那么直观,见下图:

pic90

  2、实现类似于CNZZ流量统计形式的点选分类突出显示

  使用过CNZZ统计的朋友肯定知道,CNZZ对访问者的来源统计展示形式是一个饼状展示的,同时通过某块区域时可以突出显示这个区域,如下图:

pic91

  可以看到,我通过点击【江苏省】,将这块区域突出显示了,这个功能虽然不起眼,但是在实际公司的使用过程中,比如开会的时候有针对性的介绍某块内容的时候就会使用到,而如果在winforms下使用MSChart如何实现呢?如果想通过MSChart实现这样的效果就需要数据列中具体值(DataPoint)的CustomProperties来实现,代码如下(VB.NET

  这段代码的主要步骤是:

1、为图表控件增加一个MouseDown事件

2、获取图表控件当前点击的坐标,并判断是否存在

3、判断点击的对象是具体的列还是图例,然后为点击的图例增加相应的属性:CustomProperties = "Exploded = true";

  具体的效果如下:

pic92

  可以看到图表中,【优】列已经被分离突出显示了。此时我们还可以为这个表增加一些类似于网页开发中的MouseOver、MouseLeave效果,以达到更好的用户体验,如下图:

pic93

  可以看到图片上【中】列和图例上的上面明显有一层格子状网线,这样可以告诉使用者当先所选的列,实现代码如下:

  这段代码的实现步骤是:

1、获取当前点击的坐标。

最新文章
高效SEO优化:掌握IJ工具,提升网站排名秘诀
高效SEO优化:掌握IJ工具,提升网站排名秘诀在当今的信息化时代,数据分析和处理成为了各行各业不可或缺的技能。IJ工具(ImageJ)作为一款开源的图像处理软件,凭借其强大的功能和易用性,在生物医学、物理学、化学等领域得到了广泛应用。
韩国浦项科技大学Hyoung Seop Kim院士应邀到我校讲学
(通讯员 熊仁龙马飞燕)10月25日下午,韩国浦项科技大学的Hyoung Seop Kim院士应研究生院、机电工程学院和国际交流合作中心的邀请,在流芳校区文科楼413报告厅开展题为“Hetero structured Material Design of High Entropy Alloys and Ad
学Python最赚钱的两种赚钱方式,还不快来了解一下
一、赚钱第一种方式:接私活 刚学会Python那会,就有认识的朋友介绍做一个网站的私活,当时接单赚了4K(仅代表个人收入),后又自己接过开发网站后台接口、做数据处理等事情,都赚了一些。 接私活指的是利用自
全市场首只创业板人工智能ETF(159363)今日上市
12月16日,全市场首只创业板人工智能ETF——创业板人工智能ETF华宝(159363)正式在深圳证券交易所上市。近期,该ETF在短短5个交易日内,首发募得资金7.89亿元,备受市场关注。最新公开数据显示,创业板人工智能ETF华宝(159363)上市前的最新
9 个最佳 WordPress 内部链接插件(自动 + 手动)
您是否正在寻找最好的内部链接插件来改善您的 SEO 策略?内部链接在搜索引擎优化(SEO)中发挥着重要作用。它们帮助搜索引擎发现您的内容并在搜索结果中排名更高。内部链接插件可以帮助自动化该过程并提供构建更好链接的建议。例如,上面的
武汉地铁下一轮建设计划网络版里,黄陂和江夏,算不算最大赢家?
武汉地铁下一轮建设计划网络版里,黄陂和江夏,算不算最大赢家?网络版武汉市第5轮轨道建设计划按照一般规律,武汉每隔5年会编制一份轨道交通建设计划,提交给国家审查通过后,接下来就按照规划分批建设。2019年1月,武汉第4轮轨道建设计划
史上最全大型互联网“Java架构师成长路线”首发,对标BAT等互联网大厂P6+需求
上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。 很多人担心学了容易忘,这里教你一个方法,那就是重复学习。 打个比方,假如你
云南排名前十seo公司(云南百度推广排名查询)
其实云南排名前十seo公司的问题并不复杂,但是又很多的朋友都不太了解云南百度推广排名查询,因此呢,今天小编就来为大家分享云南排名前十seo公司的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录网络seo排
AI+传媒:全维赋能开启新纪元,2025年大展宏图!
在迅速发展的科技浪潮中,人工智能(AI)正在全方位推动各行各业的变革。最近,北京人工智能产业联盟发布的《人工智能蓝皮书:中国通用人工智能发展报告(2024)》一方面揭示了生成式人工智能的创新动态,另一方面也昭示着AI在传媒领域的广
如何选择合适的邮箱进行OpenAI注册
如今,AI技术的发展已经渗透到了各个领域,并对我们的生活产生了深远的影响。OpenAI作为全球领先的人工智能研究机构,致力于推动AI技术的创新与发展。如果你对AI技术感兴趣,想要注册OpenAI账号,那么一个有效的邮箱是必不可少的。选择合适
相关文章
推荐文章
发表评论
0评