以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Painter如何动态的绘制直线  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158073)

--  作者:xluoping
--  发布时间:2020/11/6 16:09:00
--  Painter如何动态的绘制直线
运行以下代码,只能60秒后,一次性显示直线,怎么才能动态的在Painter上绘制?

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
Static LastTime As Date = Date.Now
Dim ntp As timeSpan
For i As Integer = 0 To 59
    ntp = Date.Now - LastTime
    If ntp.TotalSeconds < 1 Then
        System.Threading.Thread.Sleep(1000 - ntp.TotalSeconds * 1000 )  \'延时100毫秒
    End If
    LastTime = Date.Now
    i = i + 1
    g.DrawLine(Pens.Red,30,i-1,30,i)
    g.DrawLine(Pens.Red,i-1,30,i,30)
    p.Repaint()
Next

--  作者:有点蓝
--  发布时间:2020/11/6 16:23:00
--  
没有办法
--  作者:xluoping
--  发布时间:2020/11/6 17:07:00
--  是否可以通过其他方式动态绘制?
是否可以通过其他方式动态绘制?
--  作者:有点蓝
--  发布时间:2020/11/6 17:19:00
--  
客户端做这种效果不好做。暂时没有这个时间去研究
--  作者:goe12345
--  发布时间:2020/11/7 10:52:00
--  试试
用橡皮筋技术可以实现,先画线,移动鼠标后,再擦除原来的线即可实现,我用VB6做过一个类似CAD的系统,同时配套数据库