تقييم الموضوع :
  • 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
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ظهور رسالة في حالة عدم لمس لوحة المفاتيح او تحريك الماوس بعد مدة معينة atefkhalf2004 2 189 09-10-19, 06:21 PM
آخر رد: Rabeea Qbaha
  [كود] [تم الحل] تحريك الكائن DK-x 2 292 11-04-19, 04:01 PM
آخر رد: DK-x
  [VB.NET] استفسار بخصوص تحريك الماوس والضغط dubai.eig 1 363 02-03-19, 11:19 AM
آخر رد: dubai.eig
  [سؤال] تحريك نص داخل Label Simo1991 3 651 25-10-18, 10:32 AM
آخر رد: fouadhdfouad
  كود تحريك الادوات anes 4 596 22-01-18, 10:15 PM
آخر رد: محمود صالح
  [ تمّ الحل ] : عدم تحريك الفورم عبد العزيز البسكري 2 561 08-01-18, 08:45 PM
آخر رد: عبد العزيز البسكري
Wink [سؤال] كيفية تحريك اداة TrackBar عند تصميم برنامج ميديا بلاير malzwy2003 0 512 01-10-17, 11:04 PM
آخر رد: malzwy2003
  كيف يمكن تحريك مربعات النص على التقرير السيد الجوهري 2 997 27-01-17, 11:29 PM
آخر رد: السيد الجوهري
  كود تحريك نص في شريط عنوان النافذة atefkhalf2004 2 4,261 05-01-17, 11:47 PM
آخر رد: asdsoft
  مساعدة لو سمحتو (طريقة تحريك صورة من خلال احداثيات موجودة في ملف نصي بدون ازرار) marten363 3 926 27-12-16, 08:20 PM
آخر رد: مساعدة

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


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