分享

vb.net Mschart控件简单实例

 趋明 2012-03-12
这几天公司制造部门所使用的程序中需要添加曲线图显示功能,因为以前没有做过这方面的开发,所以一直在网上找实例以便快速掌握技巧,将曲线图功能尽快做出来,通过google的搜寻,很失望,绝大部分MsChart控件方面的实例都是基于C++的,后来经过自己的慢慢摸索及参考C++实例方面的语法,然后通过自己的实践,掌握了部份功能,故将以下实例贴出给初次接触此控件的朋友参考.

vb.net Mschart控件简单实例 - 青新 - 青新的博客

原图见下链接

http://img.bimg.126.net/photo/P-LYisX4mF8jqQDUD68EmA==/1694197884822258957.jpg

所需环境:
Visual Studio 2008
.net平台升级至3.5 sp1
Mschart 控件、MSChart_VisualStudioAddOn、MSChartLP_chs

实例

首先在vb.net 2008中新建一个项目,然后新增一个名为form1的表单,将工具栏上的chart控件拖动到form1上,调整好具体位置。再将工具栏上的timer控件拖动到form1上,并设置间隔时间为1分钟或其它你觉得比较合适的时间,此时表单上的控件都已经完成,然后添加如下代码:


Imports System.Windows.Forms.DataVisualization.Charting
Public Class Form1
    Dim random As New Random()
    Dim pointIndex As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Chart1.ChartAreas.Clear()’清除所有绘图区
        Dim newChartAreas1 As New ChartArea("Default")‘新增绘图区
        Chart1.ChartAreas.Add(newChartAreas1)
        Chart1.ChartAreas("Default").BackColor = Color.FromName("GradientInactiveCaption")’设置绘图区颜色
        Chart1.ChartAreas("Default").BackGradientStyle = GradientStyle.HorizontalCenter‘设置绘图区颜色渐变方式
        Chart1.ChartAreas("Default").AxisX.IsMarginVisible = True
        'Chart1.ChartAreas("Default").Area3DStyle.Enable3D = True‘启用3D显示
        Chart1.ChartAreas("Default").AxisX.Title = "时间"'X轴名称
        Chart1.ChartAreas("Default").AxisY.Title = "数量"'Y轴名称
      
        Chart1.Titles.Clear()
        Dim newTitles1 As New Title("产品生产管制图") '建立标题
        newTitles1.Text = "产品生产管制图"
        Chart1.Titles.Add(newTitles1)

         Chart1.Series.Clear()’清除所有数据集
        Dim newSeries1 As New Series("标准值")'新增数据集
        newSeries1.ChartType = SeriesChartType.Line’直线
        newSeries1.BorderWidth = 2
        newSeries1.Color = Color.Blue
        newSeries1.XValueType = ChartValueType.Time
        newSeries1.IsValueShownAsLabel = False
        Chart1.Series.Add(newSeries1)

        Dim newSeries2 As New Series("生产量")
        newSeries2.ChartType = SeriesChartType.Line
        newSeries2.BorderWidth = 2
        newSeries2.Color = Color.Green
        newSeries2.XValueType = ChartValueType.Time
        newSeries2.IsValueShownAsLabel = True
        newSeries2.MarkerStyle = MarkerStyle.Square
        Chart1.Series.Add(newSeries2)

        Dim newSeries3 As New Series("下限值")
        newSeries3.ChartType = SeriesChartType.Line
        newSeries3.BorderWidth = 2
        newSeries3.Color = Color.OrangeRed
        newSeries3.XValueType = ChartValueType.Time
        newSeries3.IsValueShownAsLabel = False
        Chart1.Series.Add(newSeries3)   
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim current_time As DateTime
        current_time = DateTime.Now
        Chart1.Series("标准值").Points.AddXY(current_time, 90)
        Chart1.Series("生产量").Points.AddXY(current_time, random.Next(20, 75))
        Chart1.Series("下限值").Points.AddXY(current_time, 15)
       End Sub
End Class

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多