Microsoft .NET Framework 3.5版MSChart使用示例
编辑:dnawo 日期:2012-03-26
一、准备文件
·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控件拖到界面上:
②.连接数据库,读取数据并显示在图表上:
最终显示效果:
三、常见问答
问:怎么删除右上角的Series1?
答:Chart控件有个Legends属性,它是一个集合,打开删除全部成员Legend即可。
问:怎么去掉竖网格线?
答:打开Chart控件属性"ChartAreas→Axes",找到成员"X axis"的MajorGrid属性,将Enable属性值设置为False即可去掉x轴上的网格线。
问:怎么设置图表类型?
答:series.ChartType = SeriesChartType.Bar,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);
}
}
}
}
}
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);
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 | 查看次数: 106005
dnawo[2016-06-11 09:47 PM | | | 112.5.236.212 | | 回复]
板凳@林凯西,确保“准备文件”中的几个文件都有安装,Series类型在System.Windows.Forms.DataVisualization.Charting命名空间下,引用它即可。Series可以理解成一个二维图表,给它绑定数据源(DataTable、数组等)并添加到chart控件即可显示成一个曲线、柱形、饼图...
沙发
您好,看了您这篇帖子觉得很有帮助。但是有个问题想请您帮我解答一下。
Series series = new Series();
这句里的Series是像SqlCommand一样吗?
但是应该添加哪个引用呢?
一直提示错误未能找到类型或命名空间名称“Series”(是否缺少 using 指令或程序集引用?)
搜索也搜索不到应该添加哪个引用。
谢谢您。
Series series = new Series();
这句里的Series是像SqlCommand一样吗?
但是应该添加哪个引用呢?
一直提示错误未能找到类型或命名空间名称“Series”(是否缺少 using 指令或程序集引用?)
搜索也搜索不到应该添加哪个引用。
谢谢您。
发表评论
请登录后再发表评论!