السلام عليكم و رحمة الله و بركاته
قمت بعملية تحريك أداه علي الفورمة في وقت التشغيل كيف أستطيع أن أجعلها لا تتجاوز حدود الفورمة بأي حال من الأحوال مع مراعة حجم الفورمة و أزي فشلت عملية التحريك ترجع الأداة إلي وضعها الأصلي ؟؟؟؟؟؟؟؟
عمرو عيسي
السلام عليكم و رحمة الله و بركاته
قمت بعملية تحريك أداه علي الفورمة في وقت التشغيل كيف أستطيع أن أجعلها لا تتجاوز حدود الفورمة بأي حال من الأحوال مع مراعة حجم الفورمة و أزي فشلت عملية التحريك ترجع الأداة إلي وضعها الأصلي ؟؟؟؟؟؟؟؟
عمرو عيسي
تم تعديل هذه المشاركة بواسطة R0OT في 17 نوفمبر 2005 في 09:01
السلام عليكم
ضع هذه القيود أخي في أجراء تحريك الاداة
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
بهذا الكود إن شاء الله لا تتحرك الأداة إذا وصلت إلى أحد حدود الفورم ....
السلام عليكم و رحمة الله و بركاته
حاولت أن أستخدم طريقتك أخي الكريم و لكن للأسف لم أوفق :(
و هذا هو الكود الذي أستخدمته أرفقه للأفادة و لتصحيح خطأ أزي كان موجودا
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
شكرا يا حزومه :)
هذا الموضوع مغلق.