首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

求救:改一个鼠标画多条直线的代码~该怎么处理

2012-01-19 
求救:改一个鼠标画多条直线的代码~~给大家发两段代码:都是只能画一条直线~~ImportsSystemImportsSystem.Dr

求救:改一个鼠标画多条直线的代码~~
给大家发两段代码:
都是只能画一条直线~~

Imports   System
Imports   System.Drawing
Imports   System.Drawing.Drawing2D
Public   Class   Line
        Public   WithEvents   pctbox   As   PictureBox
        Dim   linePen   As   Pen
        Dim   startPoint   As   Point
        Dim   endPoint   As   Point
        Dim   endOfPoint   As   New   Point
        Dim   isMouseDown   As   Boolean   =   False
        Dim   isFirstMove   As   Boolean   =   True
        Private   Sub   pctbox_MouseDown(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)   Handles   pctbox.MouseDown
                isMouseDown   =   True
                startPoint.X   =   e.X
                startPoint.Y   =   e.Y
        End   Sub
        Private   Sub   pctbox_MouseMove(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)   Handles   pctbox.MouseMove
                If   isMouseDown   Then
                        Dim   bmp   As   New   Bitmap(pctbox.ClientSize.Width,   pctbox.ClientSize.Height)
                        endPoint.X   =   e.X
                        endPoint.Y   =   e.Y
                        Dim   g   As   Graphics   =   Graphics.FromImage(bmp)
                        g.DrawLine(Pens.Blue,   startPoint,   endPoint)
                        pctbox.Image   =   bmp

                End   If
             
        End   Sub
        Private   Sub   pctbox_MouseUp(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)   Handles   pctbox.MouseUp
                isMouseDown   =   False
        End   Sub
End   Class


Imports   System
Imports   System.Drawing
Imports   System.Drawing.Drawing2D
Public   Class   Line
        Public   WithEvents   pctbox   As   PictureBox
        Dim   startPoint   As   Point
        Dim   endPoint   As   Point
        Dim   endOfPoint   As   New   Point
        Dim   isMouseDown   As   Boolean   =   False
        Dim   isFirstMove   As   Boolean   =   True


        Private   Sub   pctbox_MouseDown(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)   Handles   pctbox.MouseDown
                isMouseDown   =   True
                startPoint.X   =   e.X
                startPoint.Y   =   e.Y
        End   Sub
        Private   Sub   pctbox_MouseMove(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)   Handles   pctbox.MouseMove
                Dim   bmp   As   New   Bitmap(pctbox.ClientSize.Width,   pctbox.ClientSize.Height)
                Dim   mygraphics   As   Graphics   =   Graphics.FromImage(bmp)
                If   isMouseDown   Then
                        If   isFirstMove   Then
                                isFirstMove   =   False
                                endPoint.X   =   e.X
                                endPoint.Y   =   e.Y
                                mygraphics.DrawLine(Pens.Red,   startPoint,   endPoint)
                                pctbox.Image   =   bmp
                        Else
                                endOfPoint.X   =   e.X
                                endOfPoint.Y   =   e.Y
                                mygraphics.DrawLine(Pens.Blue,   startPoint,   endPoint)
                                mygraphics.DrawLine(Pens.Black,   startPoint,   endOfPoint)
                                pctbox.Image   =   bmp
                        End   If
                End   If
        End   Sub
        Private   Sub   pctbox_MouseUp(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)   Handles   pctbox.MouseUp
                isMouseDown   =   False
        End   Sub
End   Class


只能画一条直线,当画第二条直线时,第一条就消失了~~~
谁能帮我?

------解决方案--------------------


http://blog.csdn.net/wzuomin/archive/2006/12/13/1441007.aspx

热点排行