تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف اجعل صورتين تغيران مواقعهما بسحب احدهما
#1
السلام عليكم

في المشروع السابق 

لعبة المقارنة بين الاطوال 

http://vb4arb.com/vb/showthread.php?tid=36328

اعتمدنا طريقة التقر على صورتين لتغير مواقعهما

هل فيه لقطة بحيث استعمل mouse move  لسحب صورة نحو صورة فيتم تغير مواقعهما

طبعا نحن نتعامل فقط بالسحب على خط افقي اي لا يتغير y بل فقط  x

حتى ذلكم الحين شكرا
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد
تم الشكر بواسطة: WaeLx , حريف برمجة
#2
تفضل اخي الكريم : 

اضفت الاكواد التالية الى مشروعك بعد اذنك  بدلا من حدث الضغط على الصور :

كود :
   Dim movingPicOriginalLeft As Integer
   Dim movingPic As PictureBox

   Dim mX As Integer

كود :
   Private Sub PictureBox9_MouseDown(sender As Object, e As MouseEventArgs)
       Dim pic As PictureBox = sender
       pic.BringToFront()
       movingPic = pic
       movingPicOriginalLeft = pic.Left
       mX = e.X
   End Sub

كود :
   Private Sub PictureBox9_MouseMove(sender As Object, e As MouseEventArgs)
       Dim pic As PictureBox = sender
       If pic Is movingPic Then
           pic.Left += e.X - mX
       End If
   End Sub

كود :
   Private Sub PictureBox9_MouseUp(sender As Object, e As MouseEventArgs)
       Dim pic As PictureBox = sender
       Dim OverlappingPic As PictureBox = GetOvelapping(pic)
       RestoreLocation()
       If Not OverlappingPic Is Nothing Then
           SwapPicture(pic, OverlappingPic)
       End If
   End Sub
كود :
   Function GetOvelapping(picturebox As PictureBox) As PictureBox
       For Each pic In Pict
           If pic.Visible = False Then Continue For
           If pic Is picturebox Then Continue For
           If IsOverlapping(pic, picturebox) Then Return pic
       Next
       Return Nothing
   End Function

   Function IsOverlapping(pic1 As PictureBox, pic2 As PictureBox) As Boolean
       Return ((pic1.Left + pic1.Width) > pic2.Left) And
           ((pic1.Left) < pic2.Left + pic2.Width)

   End Function

   Sub SwapPicture(pic1 As PictureBox, pic2 As PictureBox)
       Dim tmpLeft As Integer
       tmpLeft = pic1.Left
       pic1.Left = pic2.Left
       pic2.Left = tmpLeft
   End Sub

   Sub RestoreLocation()
       If movingPic Is Nothing Then Return
       movingPic.Left = movingPicOriginalLeft
       movingPic = Nothing
       movingPicOriginalLeft = Nothing
       mX = Nothing
   End Sub

واضفت ايضا في الفورم لود :

كود :
       For Each pic In Pict
           AddHandler pic.MouseDown, AddressOf PictureBox9_MouseDown
           AddHandler pic.MouseUp, AddressOf PictureBox9_MouseUp
           AddHandler pic.MouseMove, AddressOf PictureBox9_MouseMove
       Next

وعملت كما طلبت اعتقد 
جرب واعطني رأيك


الملفات المرفقة
.zip   Math1apOrdre.zip (الحجم : 2.54 م ب / التحميلات : 11)
الرد
#3
(10-09-20, 03:51 PM)Anas Mahmoud كتب : تفضل اخي الكريم : 

جرب واعطني رأيك

ما شاء الله ربي يجازيك خيرا استاذ انس

ممتاز  و سلس ......... ربي لا يحرمنا منك و من خدماتك

دوما خدوم للاخرين

سؤال سيدي الكريم

ما دور GetOvelapping(pic)

Swap


ما معنى Continue For
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد
#4
(10-09-20, 04:50 PM)عبد الهادي بهاب كتب : سؤال سيدي الكريم

ما دور GetOvelapping(pic)

Swap


ما معنى Continue For


GetOvelapping تبحث عن مربع صورة يتقاطع مع مربع الصورة المرسل ، لتحديد مربعين الصور المطلوب تبديل موقعهما

Swap تقوم بتبديل اماكن مربعين الصور

Continue For تقوم بتخطي باقي دورة For الحالية والانتقال الى الدورة القادمة
الرد
#5
تحية طيبة استاذ انس
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد
تم الشكر بواسطة: asemshahen5 , Anas Mahmoud , حريف برمجة , WaeLx , WaeLx


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيف اجعل PictureBox شفافة 3asfa~mdmra 12 3,163 11-11-20, 04:51 AM
آخر رد: salahalmasry
  [سؤال] كيف اجعل ليبال ذو خلفية شفافة مع صورة عبد الهادي بهاب 2 310 25-08-20, 02:31 PM
آخر رد: عبد الهادي بهاب
  كيف اجعل قيمة افتراضية للكوبو بكس في الداتاجريد بسام محمدغانم 4 474 23-06-20, 03:35 AM
آخر رد: ابو ليلى
  كيف اجعل الكلمة في Textbox شفافة VBMaged 15 4,103 07-04-20, 05:23 PM
آخر رد: waelmohd
  كيف اجعل الويب براوزر بصيغة الموبيل ابو روضة 8 1,268 13-07-19, 10:28 PM
آخر رد: ابو روضة
  كيف اجعل النص bold and italic and Underline سوية وليس كل على حدة ابراهيم ايبو 1 596 03-03-19, 08:24 AM
آخر رد: ابراهيم ايبو
  كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت atef_020 30 3,484 28-02-19, 02:09 PM
آخر رد: حريف برمجة
  [VB.NET] كيف اجعل برنامج يعمل على شبكة السائل 2 1,054 05-01-19, 06:00 AM
آخر رد: السائل
  كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل atef_020 15 2,465 01-12-18, 08:09 PM
آخر رد: حريف برمجة
  كيف اجعل الترتيب في امر select بواسطة متغير تناسيم 4 928 25-11-18, 02:23 PM
آخر رد: حريف برمجة

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


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