الاخوة حاولت وبحثت فى الكتب ولم اجد كود للرسم الحر بالماوس مثل برنامج الرسام
كل الاكواد ترسم خط او اشكال هندسية محتاج كود صغير من عدة اسطر بارك الله فيكم
الاخوة حاولت وبحثت فى الكتب ولم اجد كود للرسم الحر بالماوس مثل برنامج الرسام
كل الاكواد ترسم خط او اشكال هندسية محتاج كود صغير من عدة اسطر بارك الله فيكم
وجدت الحل هنا مشكورين
Public Class Form1
Public draw As Boolean
Dim currentx As Integer
Dim currenty As Integer
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
If RadioButton2.Checked = True Then
If draw = True Then
Me.CreateGraphics.DrawLine(New Pen(Color.Red, 5), currentx, currenty, MousePosition.X, MousePosition.Y)
End If
End If
currentx = MousePosition.X
currenty = MousePosition.Y
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
draw = False
If RadioButton1.Checked = True Then
Me.CreateGraphics.DrawRectangle(Pens.Green, e.X, e.Y, currentx - e.X, currentx - e.X) 'مربع
End If
End Sub
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
currentx = MousePosition.X
currenty = MousePosition.Y
draw = True
End Sub
End Class
مرحبا،،
أرجوا أن يعجبك هذا الكود
Public Class Form1 Dim points(2) As PointF Private Sub Form1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove Dim g As Graphics = Me.CreateGraphics() If (e.Button = Windows.Forms.MouseButtons.Left) Then points(0) = points(1) points(1) = New PointF(e.X, e.Y) g.DrawLine(Pens.Blue, points(0), points(1)) Else points(1) = New PointF(e.X, e.Y) End If End Sub End Class
قمت أولا بالتصريح عن مصفوفة ذات عنصرين فقط من نوع البنية PointF من خلال السطر التالي
Dim points(2) As PointF
بعد ذلك استخدمت الحدث MouseMove للفورم Form
طبعا قمت بتعريف كائن من نوع Graphics وذلك لكي أتمكن من استخدام توابع الرسم للرسم على الفورم
ثم قمن بالتحقق من كون المستخدم ينقر (يستخدم) الزر الأيسر للفأرة
ثم ....
إذا لم تفهم الكود بشكل واضح سوف أعيد شرحه لك المثال موجود في المرفقات
وشكرا
هذا الموضوع مغلق.