vb画折线图的简单方法 (vb中如何画曲线做样条)

在hslcommuincation的官网上有这么一段话:HSL专注于解决工业网络间的复杂的数据通信问题,解决多个独立程序之间的数据通信,甚至是不同的操作系统,平台的网络通信问题, 可以用来构建各种各样的应用程序,下至通信小软件,上位机软件,CS架构的聊天系统,上至ERP系统,历史追述系统,生产管理系统,MES系统, 无论你的开发环境是Visual Studio, Visual Studio Code, IntelliJ IDEA, Eclipse, Labview, Android Studio等等;

确实在工业软件开发中用HSL确实有很多方便之处,它集成了各款机器人以及PLC的通讯方式,今天用HSL的UserCurve画了曲线;

这个小demo是用vb写的,vbnet对开发桌面程序确实有自己的优点(自己的一点小见解),画曲线要有数据来源,这里用生成的随机数代替;UserCurve还支持曲线的放大与缩小,以及某个点的值等等,这里做个一个简单实例,效果图如下:

vb通过用hslcommunication的usercurve画曲线

vb通过用hslcommunication的usercurve画曲线

具体代码如下:

 Public data As Single()
    Public list1 As ArrayList = New ArrayList()
    Public i As Integer = 0
    Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        UserCurve1.SetLeftCurve("B", data, Color.Tomato)

        'UserCurve1.SetLeftCurve("A", GetRandm(50000, 0, 200), Color.DodgerBlue)
    End Sub
    Private Function GetRandm(count As Integer, min As Double, max As Double) As Single()
        Dim data As Single() = New Single(count - 1) {}
        Dim rand = New System.Random()
        For i As Integer = 0 To data.Length - 1
            data(i) = CSng(rand.NextDouble) * (max - min) + min
        Next

        Return data
    End Function

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'Dim Timer1 As Timer = New Timer()
        Dim rand = New System.Random()
        Timer3.Interval = 200
        Timer3.Enabled = True
        'RaiseEvent Timer3.Tick += Function(sender1, e1)
        '                   UserCurve1.AddCurveData("B", rand.Next(50, 201))
        'End Function
        Timer3.Start()
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick
        'Dim rand = New System.Random()
        'list1.Add(CSng(rand.Next(50, 201).ToString))
        ''Dim data1 As Single() = CType(list1.ToArray(), Single())
        'Dim array As String() = CType(list1.ToArray(), String())
        'data = CSng(array)
        'data(i) = rand.Next(50, 201)
        'i += 1
        'Timer1.Tick += Function(sender1, e1)
        UserCurve1.AddCurveData("B", GetRandm(1, 0, 200))
        'End Function
    End Sub

vb通过用hslcommunication的usercurve画曲线