十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
绘图代码写在Paint事件中,如
成都创新互联公司专业为企业提供乾安网站建设、乾安做网站、乾安网站设计、乾安网站制作等企业网站建设、网页设计与制作、乾安企业网站模板建站服务,10多年乾安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
Dim g As Graphics = Me.CreateGraphics
g.DrawLine(Pens.Red, 100, 100, 200, 100)
End Sub
'方法二:在 PictureBox1上显示图像----图画在Bitmap
PictureBox1.Image = Nothing
Dim wid As Integer = PictureBox1.ClientSize.Width
Dim hgt As Integer = PictureBox1.ClientSize.Height
Dim bm As New Bitmap(wid, hgt)
Dim g As Graphics = Graphics.FromImage(bm)
'画图代码
'画图代码
PictureBox1.Image = bm
PictureBox1.Refresh()
g.Dispose()
程序界面本身就是被windows画出来的,每次显示都要画上一遍,而每次重新画出程序,你的函数并没有因此而重新调用,当然图形就不见.
你可以在窗体的paint()事件里掉用函数
如果是画在控件上的就是
控件.Invalidate() 或者 控件.Refresh()
这样就会引发控件的Paint事件
如果是画到Bitmap里面的就重新执行绘制的过程就行了
我的做法是先写入一个图片变量,然后再写入到容器上。容器设置双缓冲
还有你说的控件必须透明不太明白,可以直接在容器上绘图,不需要控件,图片的透明度可以用RGBA色的A值(透明度)来控制
我这个也是实时翻滚刷新的,不会闪!