Vb.net 在vb2010中将大量数据打印到可滚动的绘图中
我有一个包含250000条9位二进制数据记录的数据(csv)文件。我需要以允许用户滚动绘图的方式进行绘图。我尝试了一个图片框加上一个滚动条,滚动条控制PictureBox的Top属性。发生的情况是,当打印的数据被滚动到看不见的地方时,它会从PictureBox中被删除 下面是一段VB2010代码,它绘制了一个位,显示了我所有的图形内容。我省略了手动生成数据点的测试代码Vb.net 在vb2010中将大量数据打印到可滚动的绘图中,vb.net,graphics,picturebox,scrollable,Vb.net,Graphics,Picturebox,Scrollable,我有一个包含250000条9位二进制数据记录的数据(csv)文件。我需要以允许用户滚动绘图的方式进行绘图。我尝试了一个图片框加上一个滚动条,滚动条控制PictureBox的Top属性。发生的情况是,当打印的数据被滚动到看不见的地方时,它会从PictureBox中被删除 下面是一段VB2010代码,它绘制了一个位,显示了我所有的图形内容。我省略了手动生成数据点的测试代码 Public Class Form1 Const myPixelHeight = 10 Const myPixelWidth =
Public Class Form1
Const myPixelHeight = 10
Const myPixelWidth = 10
Dim myGraphics As Graphics
Dim myPen As Pen
Dim TotalImageHeight As Integer
Dim Rec As Integer
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
TotalImageHeight = PictureBox1.Height
myGraphics = PictureBox1.CreateGraphics
PictureBox1.Image = New Bitmap(500, 10000)
myPen = New Pen(Brushes.DarkMagenta, myPixelHeight)
End Sub
Private Sub DrawOneBit(Record As Integer, Sensor As Integer)
Dim HDistance As Integer, VDistance As Integer
VDistance = Record * myPixelHeight
HDistance = Sensor * myPixelWidth * 1.1
myGraphics.DrawLine(myPen, HDistance, VDistance, HDistance + myPixelWidth, VDistance)
End Sub
这是我第二次尝试问这个问题。第一次因为太模糊而被“搁置”?复杂?不精确的我编辑了它,但它仍保留在比特桶中。是否绝对有必要使用您自己的图形生成器?你为什么不使用mschart来描绘你的观点呢?谢谢@xavier。不使用MSChart的一个原因是,我搜索了又搜索,找到了ocx版本的引用。天。没有简单的方法来区分与VB2010相关的项目。无论如何,我用另一种方法解决了这个问题。我没有试图滚动一个巨大的PictureBox,而是简单地使用一个小的p.b.并在滚动条值改变时从一个巨大的数组中重新绘制数据。更新有点慢,但足够了。