读书人

高手帮忙解决如下有关问题

发布时间: 2012-01-30 21:15:58 作者: rapoo

高手帮忙解决如下问题
我想实现一个最简单的类似画图板的功能,只要鼠标按下拖动后能绘出鼠标轨迹就行。但是有个要求。
1、只有在picturebox1上按下鼠标时才能画线
2、picturebox1在tabcontrol1的tabpage1里面
3、picturebox1.dock=fill
tabcontrol1.dock=fill
4、所画线条能够在重绘窗体时保持住,不会消失
请高手帮忙解决

[解决办法]
按lz的要求是不是应该这么样啊?

Public Class Form1

Dim ptStart, ptEnd As Point
Dim G As Graphics
Dim bmp As Bitmap

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True)
bmp = New Bitmap(1024, 768)
Pic1.Image = bmp
G = Graphics.FromImage(bmp)
End Sub

Private Sub Pic1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Pic1.MouseDown
ptStart = New Point(e.X, e.Y)
End Sub

Private Sub Pic1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Pic1.MouseMove
If e.Button = Windows.Forms.MouseButtons.Left Then
Dim NewPt As New Point(e.X, e.Y)
G.DrawLine(Pens.Blue, NewPt, ptStart)
Pic1.Refresh()
ptStart = NewPt
End If
End Sub


End Class

读书人网 >VB Dotnet

热点推荐