الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحريك الأدوات داخل الفورمة؟؟

مغلق
بدأه AmR EiSa في 17 نوفمبر 2005 · 4 رد · 678 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

قمت بعملية تحريك أداه علي الفورمة في وقت التشغيل كيف أستطيع أن أجعلها لا تتجاوز حدود الفورمة بأي حال من الأحوال مع مراعة حجم الفورمة و أزي فشلت عملية التحريك ترجع الأداة إلي وضعها الأصلي ؟؟؟؟؟؟؟؟

عمرو عيسي

تم تعديل هذه المشاركة بواسطة R0OT في 17 نوفمبر 2005 في 09:01

#2

السلام عليكم

ضع هذه القيود أخي في أجراء تحريك الاداة

 
if (controlName.Left > 0) and _
   (controlName.Top > 0)  and _
   ((ControlName.Width + controlName.left) < Me.Width ) and _
   ((cotrolName.Top + ControlName.Height) < Me.Height) Then

	'TODO : Code Move The Control
End If

بهذا الكود إن شاء الله لا تتحرك الأداة إذا وصلت إلى أحد حدود الفورم ....

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#3

السلام عليكم و رحمة الله و بركاته

حاولت أن أستخدم طريقتك أخي الكريم و لكن للأسف لم أوفق :(

و هذا هو الكود الذي أستخدمته أرفقه للأفادة و لتصحيح خطأ أزي كان موجودا

Public Class Form1
    Dim bm As Boolean = False
    Dim mdx As Integer
    Dim mdy As Integer

    Private Sub Button1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
        If e.Button = Windows.Forms.MouseButtons.Left Then
            bm = True
            mdx = e.X
            mdy = e.Y
        End If
    End Sub

    Private Sub Button1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove
        If bm Then
            Dim temp As New Point
                temp.X = Me.Button1.Location.X + (e.X - mdx)
                temp.Y = Me.Button1.Location.Y + (e.Y - mdy)
                Button1.Location = temp
        End If
    End Sub

    Private Sub Button1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
        If e.Button = Windows.Forms.MouseButtons.Left Then
            bm = False
        End If
    End Sub
End Class

هذا بفرض أن تلك الكنترول هي Button1

فأرجو النظر في الكود و محاول حل المشكلة ؟؟؟؟

أخوكم عمرو عيسي

تم تعديل هذه المشاركة بواسطة R0OT في 19 نوفمبر 2005 في 02:41

#5

شكرا يا حزومه :)

هذا الموضوع مغلق.

مواضيع مشابهة