منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تثبيت ليبل بعد تحريكة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
[attachment=17743]

لدي مجموعة من الليبل علي الفورم  واقوم بتحريكهم يمينا ويسار واعلي وأسفل

كيف يمكن تثبيتهم  بعد التحريك فى المكان المناسب  عن طريق زر امر

ويضل التثبيت حتى ولو اغلق الفورم وتم فتحة مرة اخري

وهكذا
هل من طريقة
قم بتحديد موضع كل ليبل وتم قم بانشاء كود بالموضع
How
كيف
يتم ذلك
قم بوضع مثال حتي يتسنى لنا إضافة وتعديل الاكواد
(24-04-18, 12:24 AM)السيد الجوهري كتب : [ -> ]لدي مجموعة من الليبل علي الفورم  واقوم بتحريكهم يمينا ويسار واعلي وأسفل

كيف يمكن تثبيتهم  بعد التحريك فى المكان المناسب  عن طريق زر امر

ويضل التثبيت حتى ولو اغلق الفورم وتم فتحة مرة اخري

وهكذا

بشرح لك الطريقة على اداة ليبل ويمكنك عمل اكثر من اداة بنفس الطريقة :
ليبل باسم Label1

أولاً لابد من مكان لتخزين الاحداثيات لكل أداة حقلين توب و ليفت Left and Top ،،، والافضل نخزنها في ملف البرنامج بإضافة متغيرات للسيتينق بالطريقة التالية :
Label1Left        integer
Label1Top        integer

تابع الصورة التالي :

[attachment=17752]


أما الأكواد تكتب في الحدث MouseMove ،، للوصل للحدث دبل كلك على الأداة ثم اختيار الحدث MouseMove كالتالي :

كود :
Private Sub Label1_MouseMove(sender As Object, e As MouseEventArgs) Handles Label1.MouseMove
       Static mousePosX As Single, mousePosY As Single
       If e.Button = 0 Then
           mousePosX = e.X
           mousePosY = e.Y
       Else
           Label1.Left = Label1.Left + (e.X - mousePosX)
           Label1.Top = Label1.Top + (e.Y - mousePosY)

'حفظ احداثيات الاداة بعد تحريكها في السيتينق
           My.Settings.Label1Left = Label1.Left
           My.Settings.Label1Top = Label1.Top
           My.Settings.Save()

       End If
   End Sub


الآن حفظنا مكان احداثيات الأداة الجديد بعد التحريك بقي علينا فقط عند إيقاف وتشغيل البرنامج مره اخرى نضع الأداة في مكانها بعد التحريك كالتالي في حدث الفورم لود :

كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Label1.Left = My.Settings.Label1Left
       Label1.Top = My.Settings.Label1Top

   End Sub
جزاك الله كل خير