تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال فى الرسم
#1
عايز ارسم بالماوس وكل خط ارسمه يكتب إبعاده على الرسم مثلا الرسم الهندسى
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته

في السابق عملت برنامج مشابه لطلبك
افتح مشروع جديد والصق هذا الكود وعدل الي يناسبك

عند الضغط بزر الماوس وتحريكه راح يرسم الخط

كود :
Imports System.Math

Public Class Form1

   Const av As Byte = 10
   Event GetPoint(ByVal x As Double, ByVal y As Double)
   Dim Orgx As Integer = Me.Width / 2
   Dim Orgy As Integer = Me.Height / 2

   Private Sub Form1_GetPoint(ByVal x As Double, ByVal y As Double) Handles Me.GetPoint
       Me.Text = "X:" & x & "  Y:" & y
   End Sub
   Dim Xv As Double = 0
   Property Xvalue() As Double
       Get
           Return Xv
       End Get
       Set(ByVal value As Double)
           Xv = value
           Invalidate()
       End Set
   End Property
   Dim yv As Double = 0
   Property Yvalue() As Double
       Get
           Return yv
       End Get
       Set(ByVal value As Double)
           yv = value
           Invalidate()
       End Set
   End Property
   Dim bb As Boolean = False

   Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
       bb = True
   End Sub
   Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
       Dim xx As Double = e.X - CDbl(Orgx)
       Dim yy As Double = CDbl(Orgy) - e.Y
       RaiseEvent GetPoint(xx / 10, yy / 10)
       If bb Then
           Dim g As Graphics = CreateGraphics()
           g.DrawEllipse(New Pen(Color.Black, 2), e.X, e.Y, 1, 1)
       End If

   End Sub

   Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
       bb = False
   End Sub

   Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
       e.Graphics.DrawLine(Pens.Black, 0, Orgy, Me.Width, Orgy)
       e.Graphics.DrawLine(Pens.Black, Orgx, 0, Orgx, Me.Height)
       For rx As Integer = Orgx To Me.Width Step 10
           e.Graphics.DrawLine(Pens.Black, rx, Orgy - 2, rx, Orgy + 2)
       Next
       For lx As Integer = Orgx To 0 Step -10
           e.Graphics.DrawLine(Pens.Black, lx, Orgy - 2, lx, Orgy + 2)
       Next
       For uy As Integer = Orgy To Me.Height Step 10
           e.Graphics.DrawLine(Pens.Black, Orgx - 2, uy, Orgx + 2, uy)
       Next
       For uy As Integer = Orgy To 0 Step -10
           e.Graphics.DrawLine(Pens.Black, Orgx - 2, uy, Orgx + 2, uy)
       Next
       If Xvalue <> 0 Then
           If Yvalue <> 0 Then
               Dim xx As Single = Xvalue + Orgx
               Dim yy As Single = Yvalue - Orgy
               e.Graphics.FillEllipse(Brushes.Black, xx, yy, 2, 2)
           End If
       End If

   End Sub

   Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
       Orgx = Me.Width / 2
       Orgy = Me.Height / 2
       Invalidate()
   End Sub

   Dim b As Boolean = False
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
       Xvalue = 1
       Yvalue = 1
       Invalidate()
   End Sub
End Class
الرد }}}
تم الشكر بواسطة: asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال عن الاسمبلي و النيم سبيس justforit 0 102 07-12-25, 12:28 AM
آخر رد: justforit
  فائدة بخصوص التعامل مع علامات التنصيص مع {سؤال} justforit 4 269 02-11-25, 11:19 PM
آخر رد: justforit
  [نقاش] سؤال MetoDas 2 1,489 20-04-25, 10:21 PM
آخر رد: Kamil
  [سؤال] سؤال ترددت قبل نشرة:طابعة الباركود لماذا تطبع أكثر من ليبل فارغ قبل السليم dr.programming 1 510 20-04-25, 09:26 PM
آخر رد: Kamil
  سؤال لو سمحتم احبتى فى الله خالد كامل1 4 803 09-02-25, 12:02 AM
آخر رد: princelovelorn
  سؤال واستفسار خالد كامل1 1 402 04-02-25, 09:31 PM
آخر رد: aliday03
  سؤال فى تقرير كريستال خالد كامل1 0 393 04-02-25, 05:50 AM
آخر رد: خالد كامل1
Question [VB.NET] هناك سؤال يهم كل مبرمج الماذا برنامجك يظهر على بعض الشاشات اكثر دقه بشكل مصغر ومشوه Microformt 0 448 01-02-25, 03:48 PM
آخر رد: Microformt
  [سؤال] سؤال في الكونسول justforit 1 366 21-12-24, 02:57 PM
آخر رد: aljzazy
  سؤال عن طريقة التعامل مع الفاصلة العشرية المتألق9 2 520 28-09-24, 04:45 PM
آخر رد: المتألق9

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم