Microsoft .NET Framework 3.5版MSChart使用示例



一、准备文件

·Microsoft .NET Framework 3.5 SP1:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=D0E5DEA7-AC26-4AD7-B68C-FE5076BBA986
·MSChart控件:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=130f7986-bf49-4fe5-9ca8-910ae6ea442c
·MSChart中文语言包:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=581FF4E3-749F-4454-A5E3-DE4C463143BD
·MSChart的Visual Studio 2008插件:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23903

说明:MSChart控件需要.NET Framework 3.5 SP1下才能正常运行,安装MSChart控件前确保已经安装了.NET Framework 3.5 SP1。

二、MSChart使用示例

①.在Visual Studio 2008新建一个Windows窗体应用程序项目,从工具箱拖一个Chart控件拖到界面上:


②.连接数据库,读取数据并显示在图表上:
using System;
using System.Data;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
using System.Data.SqlClient;

namespace Chart
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            chart1.Series.Clear();

            using (SqlConnection conn = new SqlConnection("server=(local);database=mydb;user id=sa;password=sa;min pool size=20;max pool size=100;Connection Lifetime=30;Enlist=true;"))
            {
                using (SqlDataAdapter adapter = new SqlDataAdapter("select top 8 id,total from table1", conn))
                {
                    DataTable table = new DataTable();
                    adapter.Fill(table);

                    Series series = new Series();
                    series.Points.DataBindXY(table.DefaultView, "id", table.DefaultView, "total");
                    chart1.Series.Add(series);
                }

            }
        }
    }
}

最终显示效果:


三、常见问答

问:怎么删除右上角的Series1?
答:Chart控件有个Legends属性,它是一个集合,打开删除全部成员Legend即可。

问:怎么去掉竖网格线?
答:打开Chart控件属性"ChartAreas→Axes",找到成员"X axis"的MajorGrid属性,将Enable属性值设置为False即可去掉x轴上的网格线。

问:怎么设置图表类型?
答:series.ChartType = SeriesChartType.Bar,MSChart图表类型汇总

问:怎么用数组来做数据源?
答:示例代码:
Series series = new Series();
int[] numbers = new int[] { 100, 200, 300, 400, 500 };
for (int i = 0; i < numbers.Length; i++)
    series.Points.AddXY(i + 1, numbers[i]);
chart1.Series.Add(series);


评论: 2 | 引用: 0 | 查看次数: 7936
dnawo[2016-06-11 09:47 PM | 访问 http://www.mzwu.com/ | Mail To:dnawo@sohu.com | 112.5.236.212 | del | 回复回复]
板凳
@林凯西,确保“准备文件”中的几个文件都有安装,Series类型在System.Windows.Forms.DataVisualization.Charting命名空间下,引用它即可。Series可以理解成一个二维图表,给它绑定数据源(DataTable、数组等)并添加到chart控件即可显示成一个曲线、柱形、饼图...
林凯西[2016-06-10 10:28 PM | | | 222.32.128.11 | del | 回复回复]
沙发
您好,看了您这篇帖子觉得很有帮助。但是有个问题想请您帮我解答一下。

Series series = new Series();
这句里的Series是像SqlCommand一样吗?
但是应该添加哪个引用呢?
一直提示错误未能找到类型或命名空间名称“Series”(是否缺少 using 指令或程序集引用?)    
搜索也搜索不到应该添加哪个引用。

谢谢您。
发表评论
登录后再发表评论!