تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
Right to left layout
#1
السلام عليكم ورحمة الله وكل عام وانتم بخير
عملت هذا الاجراء وذلك لتحريك اداة button  داخل الفورم
كود :
   Private Sub Button1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
       X = Control.MousePosition.X - Button1.Location.X
       Y = Control.MousePosition.Y - Button1.Location.Y
   End Sub

   Private Sub Button1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove
       Dim NewPoint As New Point
       If e.Button = MouseButtons.Left Then
           NewPoint = Control.MousePosition
           NewPoint.X -= (X)
           NewPoint.Y -= (Y)
           Button1.Location = NewPoint
       End If
   End Sub


ولكن في حال غيرت خصائص الفورم الى ( Right  to left layout ) = True
اجد ان الكود السابق يتلخبط

هل من حل


ولكم الشكر
اللهم صلي على نبينا محمد
الرد
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله

حدد باكثر دقة ما الذي يتلخبط
على العموم خد بعين الاعتبار عند عكس اتجاه الفورم اليمين يصبح يسار واليسار يصبح يمين للكود البرمجي
المتغير Y اتركه كما هو اما المتغير X فاجعله يزيد ولا ينقص

كود :
NewPoint.X += (X)
الرد
تم الشكر بواسطة: ابراهيم ايبو
#3
اولا شكرا على مرورك

بالنسبة للمشكلة
عند ( الامساك ) بزر ال Button  وتوجيهه للمين يذهب لليسار والعكس صحيح  
علما انه لا يوجد مشكلة في Up  and Down
رغم اني حاولت في زيادة ونقص X
اللهم صلي على نبينا محمد
الرد
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو
#4
لا مشكلة فقط اعتقدت ان الذي يتلخبط ربما الكود نفسه وليس ناتجه

على العموم جرب هذا الكود


كود :
Dim Offset As Point

   Private Sub SimpleButton3_MouseDown(sender As Object, e As MouseEventArgs) Handles Button1.MouseDown
       Offset = New Point(-e.X, -e.Y)
   End Sub

   Private Sub SimpleButton3_MouseMove(sender As Object, e As MouseEventArgs) Handles Button1.MouseMove
       
       If e.Button = Windows.Forms.MouseButtons.Left Then
           Dim Pos As Point = Me.PointToClient(MousePosition)
           Pos.Offset(Offset.X, Offset.Y)
           Button1.Location = Pos
       End If


   End Sub
الرد
#5
10000 شكر  ... تم حل المشكلة
ما شاء الله تبارك الله عليك
اللهم صلي على نبينا محمد
الرد
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طريقة الضم LEFT JOIN متعددة بسام محمدغانم 0 357 03-11-21, 07:02 AM
آخر رد: بسام محمدغانم
  [كود] مساعدة flow layout panel هاني المومني 5 1,486 14-03-20, 10:07 PM
آخر رد: asemshahen5
  [VB.NET] table layout panel tifagreet 0 1,015 14-03-17, 02:05 AM
آخر رد: tifagreet

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


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