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

قمت بتصميم نمودج وقمت بجعل خاصية
FormBorderstyle = None

ثم قمت بوضع Pannel في اعلى النمودج

سؤالي :
كيف يمكن عند الضغط بالماوس على ال Pannel التي في اعلى، ان اتمكن من تحريك النموذج .


والف شكر


الملفات المرفقة صورة/صور
   
الرد }}}}
تم الشكر بواسطة:
#2
نعم بهذه الطريقة

PHP كود :
Dim Drag As Boolean
    Dim MouseX 
As Integer
    Dim MouseY 
As Integer

    
Private Sub MainPanel_MouseDown(ByVal sender As System.ObjectByVal e As System.Windows.Forms.MouseEventArgsHandles MainPanel.MouseDown
        Drag 
True
        MouseX 
Cursor.Position.Me.Left
        MouseY 
Cursor.Position.Me.Top
    End Sub

    
Private Sub MainPanel_MouseMove(ByVal sender As System.ObjectByVal e As System.Windows.Forms.MouseEventArgsHandles MainPanel.MouseMove
        
If (DragThen
            Me
.Left Cursor.Position.MouseX
            Me
.Top Cursor.Position.MouseY
        End 
If
    
End Sub

    
Private Sub MainPanel_MouseUp(ByVal sender As System.ObjectByVal e As System.Windows.Forms.MouseEventArgsHandles MainPanel.MouseUp
        Drag 
False
    End Sub 
موفق
الرد }}}}
تم الشكر بواسطة: kafi2030 , 3booody
#3
السلام عليكم

شكرا اخي
الشاكي لله على اجابتك

تم تجربة الكود ضمن مثال بسيط، ووجدت ان الحركة تكون غير منطقية على الاطلاق، فعندما اريده ان يتحرك على اليمين يتحرك على اليسار......والحركة غير انسابية، كما هو المعتاد من النموذج العادي

حاولت التعديل قليلا بالكود بعكس الاشارة ....فلم اوفق

ارجو اعادة النظر بالكود

والف شكر

الرد }}}}
تم الشكر بواسطة:
#4
كود :
Dim b As Boolean = False
    Dim x, y As Short
    Private Sub Panel1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseDown
        x = e.X
        y = e.Y
        b = True
    End Sub

    Private Sub Panel1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove
        If b Then
            Me.Left = MousePosition.X - x
            Me.Top = MousePosition.Y - y
        End If
    End Sub

    Private Sub Panel1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseUp
        b = False
    End Sub
الرد }}}}
تم الشكر بواسطة: الشاكي لله , kafi2030
#5
اخي العزيز المبدأ بسيط
اي يجب عليك اولاً اخذ قياسات ال panel وحسابحا من حجم الفورم ومعرفة موقع الماوس x,y

والعملية مشروحة بالكود السابق
واذا استعصى عليك الامر راسلني Smile

تحياتي للجميع
ابو سامي
الرد }}}}
تم الشكر بواسطة:
#6
(24-11-13, 01:00 AM)kafi2030 كتب : السلام عليكم

شكرا اخي
الشاكي لله على اجابتك

تم تجربة الكود ضمن مثال بسيط، ووجدت ان الحركة تكون غير منطقية على الاطلاق، فعندما اريده ان يتحرك على اليمين يتحرك على اليسار......والحركة غير انسابية، كما هو المعتاد من النموذج العادي

حاولت التعديل قليلا بالكود بعكس الاشارة ....فلم اوفق

ارجو اعادة النظر بالكود

والف شكر


شي غريب والله

انا استعملت هذا الكود في اغلب برامجي ويعمل 100%

ربما ان المشكلة حدثت بسبب انك استعملت MDI Form

والله اعلم
الرد }}}}
تم الشكر بواسطة: kafi2030
#7
السلام عليكم
الف شكر اخواني الكرام على مشاركاتكم

إقتباس :ربما ان المشكلة حدثت بسبب انك استعملت MDI Form

نعم بعد التجريب، تبين ان حركة النموذج تكون رائعة ومنطقية، عندما لا يكون النموذج MDI

ولكن ما الحل ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
اذ ان معظم البرامج تكون النماذج فيها MDI


ارجو المساعدة بالحل نظرا للاهمية القصوى

تم ارفاق مثال
والف شكر

[/b]


الملفات المرفقة صورة/صور
   

.zip   WindowsApplication1.zip (الحجم : 90.46 ك ب / التحميلات : 83)
الرد }}}}
تم الشكر بواسطة:
#8
جربت على MDI

والنتيجة تمام 100%

شوف الصورة كيف احرك بانسيابية




شكلي بنزل مشروعك وبشوف ويش قصته


كشفت المشكلة

لأنك استعملت RightToLeft

لهكذا لااحب استعمال اللغة العربية في برامجي لمثل هذه الاسباب

المهم حاولت في الكود وضبط 100%
PHP كود :
Dim Drag As Boolean
    Dim MouseX 
As Integer
    Dim MouseY 
As Integer

    
Private Sub Panel1_MouseDown(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgsHandles Panel1.MouseDown
        Drag 
True
        MouseX 
Me.PointToClient(Cursor.Position).X
        MouseY 
Me.PointToClient(Cursor.Position).Y
    End Sub

    
Private Sub Panel1_MouseMove(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgsHandles Panel1.MouseMove
        
If (DragThen
            Me
.Left += (Me.PointToClient(Cursor.Position).MouseX)
            
Me.Top += (Me.PointToClient(Cursor.Position).MouseY)
        
End If
    
End Sub

    
Private Sub Panel1_MouseUp(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgsHandles Panel1.MouseUp
        Drag 
False
    End Sub 
الرد }}}}
تم الشكر بواسطة: kafi2030
#9
الــــــــــــف الــــــــــف شكــــــــــــــــــر

اخــــــي /
الشـــــــــــــــــــــاكي للـــــــــــــــــــــــــــه


على ســـــــرعة ودقة الاجابة
بارك الله فيك
الرد }}}}
تم الشكر بواسطة:
#10
السلام عليكم...

إذا سمحتم لي... أنا أستخدم الكود التالي، و هو يعمل مع أي Form و لا يتأثر بالخاصية RighrToLeft أو RightToLeftLayout لأنه يستخدم الإحداثيات الداخلية للـ Panel:

كود :
Private StartX, StartY As Integer

Private Sub Panel1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseDown
    If e.Button = MouseButtons.Left Then
        StartX = e.X
        StartY = e.Y
    End If
End Sub

Private Sub Panel1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove
    If e.Button = MouseButtons.Left Then
        Me.Left += e.X - StartX
        Me.Top += e.Y - StartY
    End If
End Sub

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة: الشاكي لله


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تحريك العناصر الى كل الاتجاهات bidaya 3 90 23-11-16, 12:48 PM
آخر رد: bahgat okasha
  [سؤال] تحريك الصورة naden 3 110 02-10-16, 01:13 AM
آخر رد: ممدوح
  [سؤال] اريد كود يختار سجل من جدول في قاعدة البيانات عشوائيا ويعرض في النموذج abdalla89 5 257 12-05-16, 02:17 PM
آخر رد: 0theghost0
  لايعرض النموذج وتظهر رسالة hefa 3 202 11-11-15, 01:49 AM
آخر رد: hefa
  [سؤال] التعديل على مشروع تحريك الازرار اثناء تشغيل البرنامج mohamed haroon 5 675 09-08-15, 01:39 AM
آخر رد: مبرمج بلا حدود
  [سؤال] ازاى اخلى النموذج يبقى حجمو على قد اى resliotion احمد عبد الحكيم 1 316 30-03-15, 12:14 AM
آخر رد: Dr.Sherif Alazizi
  [سؤال] تحريك الفورم بدون اطار led 3 471 21-12-14, 10:25 PM
آخر رد: mudz
  تحريك ليبل عمار عيثاوي 4 828 14-12-14, 09:37 PM
آخر رد: عمار عيثاوي
Sad [كود] تحريك الصورة في المشروع محمد مسافر 3 554 20-11-14, 02:08 AM
آخر رد: raoe-041
  تحريك صور عمار عيثاوي 1 608 04-08-14, 10:55 PM
آخر رد: silverlight

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


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