تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] تحريك
#1
السلام عليكم
كيف ممكن اني اعمل شبكة على الفورم (مربعات صغيرة)
ووضع بوتن او بيكتشر وليكن اخذت 16 مربع
اريد كود تحريكها بحيث تثبت على 16 مربع من مربعات الشبكة
غير 16 مربع اللي كانت عليهن
الرد }}}
تم الشكر بواسطة:
#2
هل تقصد مربعات بهذا الشكل؟


كود :
Const HW As Integer = 40
   Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
       For i As Integer = 0 To Me.Height Step HW
           e.Graphics.DrawLine(Pens.Black, 0, i, Me.Width, i)
       Next
       For j As Integer = 0 To Me.Width Step HW
           e.Graphics.DrawLine(Pens.Black, j, 0, j, Me.Height)
       Next
   End Sub


ووضع ازرار داخل كل مربع؟
الرد }}}
#3
ان الفورم تكون شبكة مربعات مثل الصورة
واللون الاحمر هو البوتن او البكتشر
اريد ان المستخدم يستطيع تحريكه الى اللون الازرق او اي مكان يريده داخل الشبكة
بس حصرا على المربعات

اي اخي هاد هو الكود بس كيف ممكن اني احرك بوتن حصرا على المربعات


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#4
تفضل اخي

فقط ضع زر بوتون في الفورم وجرب هذا الكود وان شاء الله يكون هو طلبك



كود :
Const HW As Integer = 40
   Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
       For i As Integer = 0 To Me.Height Step HW
           e.Graphics.DrawLine(Pens.Black, 0, i, Me.Width, i)
       Next
       For j As Integer = 0 To Me.Width Step HW
           e.Graphics.DrawLine(Pens.Black, j, 0, j, Me.Height)
       Next
   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Button1.Size = New Size(80, 80)
       Button1.Location = New Point(80, 80)
       Button1.FlatStyle = FlatStyle.Flat
   End Sub

   Dim b As Boolean = False
   Dim x, y As Integer
   Private Sub Button1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
       b = True
       x = e.X : y = e.Y
   End Sub

   Private Sub Button1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove
       If b Then
           Button1.Location = New Point(Button1.Location.X + e.X - x, Button1.Location.Y + e.Y - y)
       End If
   End Sub

   Private Sub Button1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
       b = False
       Dim x1 As Integer = Button1.Location.X / 40
       Dim y1 As Integer = Button1.Location.Y / 40
       Button1.Location = New Point(x1 * 40, y1 * 40)
   End Sub
الرد }}}
#5
مشكور اخي بس ممكن اني اخفي المربعات وعند الضغط على البوتن تظهر المربعات وعند الافلات ينتقل البوتن وتختفي المربعات
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#6
كود :
Const HW As Integer = 40
   Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
       If b Then
           For i As Integer = 0 To Me.Height Step HW
               e.Graphics.DrawLine(Pens.Black, 0, i, Me.Width, i)
           Next
           For j As Integer = 0 To Me.Width Step HW
               e.Graphics.DrawLine(Pens.Black, j, 0, j, Me.Height)
           Next
       End If

   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Button1.Size = New Size(80, 80)
       Button1.Location = New Point(80, 80)
       Button1.FlatStyle = FlatStyle.Flat
   End Sub

   Dim b As Boolean = False
   Dim x, y As Integer
   Private Sub Button1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
       b = True
       x = e.X : y = e.Y
       Invalidate()
   End Sub

   Private Sub Button1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove
       If b Then
           Button1.Location = New Point(Button1.Location.X + e.X - x, Button1.Location.Y + e.Y - y)
       End If
   End Sub

   Private Sub Button1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
       b = False
       Dim x1 As Integer = Button1.Location.X / 40
       Dim y1 As Integer = Button1.Location.Y / 40
       Button1.Location = New Point(x1 * 40, y1 * 40)
       Invalidate()
   End Sub
الرد }}}
#7
مشكور اخي ممكن اني البوتن ما يطلع خارج حدود الفورم ولو اني اتعبتك معي
الرد }}}
تم الشكر بواسطة:
#8
تفضل اخي

لا اخي ماكو أي تعب تدلل
كود :
Const HW As Integer = 40
   Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
       If b Then
           For i As Integer = 0 To Me.Height Step HW
               e.Graphics.DrawLine(Pens.Black, 0, i, Me.Width, i)
           Next
           For j As Integer = 0 To Me.Width Step HW
               e.Graphics.DrawLine(Pens.Black, j, 0, j, Me.Height)
           Next
       End If

   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Button1.Size = New Size(80, 80)
       Button1.Location = New Point(80, 80)
       Button1.FlatStyle = FlatStyle.Flat
   End Sub

   Dim b As Boolean = False
   Dim x, y As Integer
   Private Sub Button1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
       b = True
       x = e.X : y = e.Y
       Invalidate()
   End Sub

   Private Sub Button1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove
       If b Then
           Button1.Location = New Point(Button1.Location.X + e.X - x, Button1.Location.Y + e.Y - y)
       End If
   End Sub

   Private Sub Button1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
       b = False
       Dim x1 As Integer = Button1.Location.X / 40
       Dim y1 As Integer = Button1.Location.Y / 40
       If x1 * 40 > Me.Width - Button1.Width Then
           x1 = (Me.Width - Button1.Width) / 40
       End If
       If x1 < 0 Then
           x1 = 0
       End If
       If y1 * 40 > Me.Height - Button1.Height Then
           y1 = (Me.Height - Button1.Height) / 40
       End If
       If y1 < 0 Then
           y1 = 0
       End If
       Button1.Location = New Point(x1 * 40, y1 * 40)
       Invalidate()
   End Sub
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال في تحريك التحديد في datagrideview maher_haddaf 3 435 23-10-23, 08:27 AM
آخر رد: أبو خالد الشكري
  كود تحريك الادوات داخل الفورم مع حفظ الترتيب حماده ممدوح البحيرى 0 295 17-12-22, 02:11 PM
آخر رد: حماده ممدوح البحيرى
  تحريك الأدوات على التقرير فى وقت التشغيل ! dr.programming 5 972 11-07-22, 05:08 PM
آخر رد: asemshahen5
  تحريك البكتربوكس kebboud 0 625 03-12-21, 10:11 PM
آخر رد: kebboud
  [سؤال] كود تحريك الفورم من اي نقطه حسن الجلب 1 871 26-08-21, 05:44 PM
آخر رد: asemshahen5
  الرجوع للفورم الرئيسيةعند عدم تحريك الماوس لمدة معينة جيولوجي مبتدئ 7 1,770 25-07-21, 07:33 PM
آخر رد: ابراهيم ايبو
  اريد تحريك الجمل أو الشرائح واحدة تلو الاخرى hamed.34552 0 1,140 25-05-20, 03:16 PM
آخر رد: hamed.34552
  مطلوب كود تحريك الادوات اثناء التشغيل bilgacim 6 2,331 08-05-20, 03:48 AM
آخر رد: bilgacim
  حل مشكلة عدم تحريك الفورم developermedo111 1 1,238 28-04-20, 12:27 AM
آخر رد: aljzazy
  ظهور رسالة في حالة عدم لمس لوحة المفاتيح او تحريك الماوس بعد مدة معينة atefkhalf2004 2 1,803 09-10-19, 06:21 PM
آخر رد: Rabeea Qbaha

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


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