Ноя 25, 2012 -
Уроки Visual Basic.NET
Написать комментарий
Уроки Visual Basic.NET
Написать комментарий Рисуем линии мышкой
Многие видели в графических редакторах элемент линия, который можно самому рисовать?
Сегодня я покажу как это реализовать.
Public Class Form1
Dim p As New Pen(Color.Blue, 2) ' Задаем новое перо
Dim g As Graphics
Dim lx As New Point()
Dim ly As New Point()
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
'Задаем начальные точки координат
lx.X = e.X
lx.Y = e.Y
'Точки для ly должны быть такие же
ly = lx
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
If e.Button = MouseButtons.Left Then
' Растягиваем временную линию с координатами lx и ly, черным цветом
ControlPaint.DrawReversibleLine(Me.PointToScreen(lx), Me.PointToScreen(ly), Color.Black)
ly = New Point(e.X, e.Y)
ControlPaint.DrawReversibleLine(Me.PointToScreen(lx), Me.PointToScreen(ly), Color.Black)
End If
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
ControlPaint.DrawReversibleLine(Me.PointToScreen(lx), Me.PointToScreen(lx), Color.Black) ' Заканчиваем растягивать временную линию
g.DrawLine(p, lx, ly) ' Рисуем линию
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
g = Me.CreateGraphics() ' Рисуем по форме
End Sub
End Class
Теперь нажмите на правую кнопку мыши, удерживаете ее и тащите в любую сторону и увидите, как растягивается ваша линия. Отпустите мышь и увидите нарисованную вашу линию на форме.





Метки:
Евгений
Просмотров: 7 135
Запись опубликована в 15:03