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

请大家帮看一下这段代码,如何实现图形的重绘

2012-01-28 
请大家帮看一下这段代码,怎么实现图形的重绘Privatexy1,xy2AsPointPrivateismousedownAsBooleanPrivateSub

请大家帮看一下这段代码,怎么实现图形的重绘
Private   xy1,   xy2   As   Point
Private   ismousedown   As   Boolean

Private   Sub   pictruebox1_MouseDown(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)handles   pictruebox1.mousedown
                xy1   =   e.Location
                ismousedown   =   True
        End   Sub

Private   Sub   pictruebox_Mousemove(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)handles   pictruebox1.mousemove
                xy2   =   e.Location
                If   ismousedown   Then
                        Dim   penwidth   As   String   =   IIf(ComboBox_penwidth.SelectedIndex   > =   1,   ComboBox_penwidth.SelectedIndex,   1)
                        Dim   cpen   As   New   Pen(pic_fillcolor.BackColor,   penwidth)
                        Dim   pa   As   System.Drawing.Graphics
                        Dim   pic   As   Control   =   sender
                        cpen.LineJoin   =   Drawing2D.LineJoin.Round
                        pa   =   pic.CreateGraphics
                        pa.DrawLine(cpen,   xy1,   xy2)
                        xy1   =   xy2
                        cpen.Dispose()
                        pa.Dispose()
                End   If
        End   Sub
        Private   Sub   pictruebox_Mouseup(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)handles   pictruebox1.mouseup
                ismousedown   =   False
        End   Sub


用这个方法绘制的线条会在重绘窗体时被抹掉,在vb6里是设置autoredraw=true,但在vb2005里没这个属性了,应该如何实现?msdn里说在paint事件里可以自动重绘图形,但是我的pictruebox_mousemove里这段代码放到pictruebox_paint事件里就没法画线条了吧,请大家帮忙看一下,是不是有很简单的方法我不知道

[解决办法]
http://blog.csdn.net/wzuomin/archive/2006/12/13/1441007.aspx
[解决办法]
新建pic1时没有事件委托
Me.Controls.Add(pic1)
pic1.Dock = DockStyle.Fill
pic1.BackColor = Color.White后面加上
AddHandler pic1.MouseDown, AddressOf pic1_mousedown
AddHandler pic1.MouseMove, AddressOf pic1_mousemove
AddHandler pic1.MouseUp, AddressOf pic1_mouseup

热点排行