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

نسخة كاملة : حصر الماوس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم
ابحث على كود حصر  الماوس مثلا داخل PictureBox1 او اي ادات من الادوات
ضع هذا الكود في حدث Resize أو أي حدث تريده :

PHP كود :
       Label1.Top PictureBox1.Top Label1.Height 5
        Label1
.Left PictureBox1.Left 
(01-02-19, 01:45 AM)asemshahen5 كتب : [ -> ]ضع هذا الكود في حدث Resize أو أي حدث تريده :

PHP كود :
       Label1.Top PictureBox1.Top Label1.Height 5
        Label1
.Left PictureBox1.Left 

معذرتا اخي الكريم
انا قاصد حصر الماوس داخل ادات من الادوات
أعتذر عن سوء الفهم تفضل هذا الكود : 

PHP كود :
       Windows.Forms.Cursor.Position = New Point(PictureBox1.Width Me.Location.PictureBox1.Location.X_
                                          PictureBox1
.Height Me.Location.PictureBox1.Location.Y
للاستفادة
هذا كود لحصر الماوس داخل الفورم




كود :
Public Class Form2
   Structure RECT
       Dim Left As Integer
       Dim Top As Integer
       Dim Right As Integer
       Dim Bottom As Integer
   End Structure
   Private Declare Function GetClientRect Lib "user32" (ByVal hWnd As Integer, ByRef lpRect As RECT) As Integer
   'Private Declare Function ClientToScreen Lib "user32" (ByVal hWnd As Integer, ByRef lpPoint As System.Delegate) As Integer
   Private Declare Function ClientToScreen Lib "user32" (ByVal hWnd As Integer, ByRef lpPoint As RECT) As Integer
   Private Declare Function ClientToScreen Lib "user32" (ByVal hWnd As Integer, ByRef lpPoint As Integer) As Integer

   'Private Declare Function ClipCursor Lib "user32" (ByRef lpRect As System.Delegate) As Integer
   Private Declare Function ClipCursor Lib "user32" (ByRef lpRect As RECT) As Integer
   Private Declare Function ClipCursor Lib "user32" (ByRef lpRect As Short) As Integer


   Sub RestrictMouseRegion(Optional ByVal hWnd As Integer = 0)

       Dim recTargetWindow As RECT
       If hWnd Then
           GetClientRect(hWnd, recTargetWindow)
           ClientToScreen(hWnd, recTargetWindow)
           ClientToScreen(hWnd, recTargetWindow.Right)
           ClipCursor(recTargetWindow)
       Else
           ClipCursor(0)
       End If

   End Sub

   
   Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
       Dim Cancel As Short = 0
       If Cancel <> 0 Then e.Cancel = True
   End Sub



   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       RestrictMouseRegion((Me.Handle.ToInt32))
   End Sub
End Class


هل يمكن التعديل عليه وجعله على بانل مثلا او بكتر بوكس
الكود الموجود يعمل فقط غير اسم البكتشربوكس الى أي أداة تريد .

PHP كود :
   Private Sub Form1_MouseMove(sender As ObjectAs MouseEventArgsHandles Me.MouseMove
        Windows
.Forms.Cursor.Position = New Point(PictureBox1.Width Me.Location.PictureBox1.Location.X_
                                          PictureBox1
.Height Me.Location.PictureBox1.Location.Y)
 
   End Sub 
(01-02-19, 04:29 PM)asemshahen5 كتب : [ -> ]الكود الموجود يعمل فقط غير اسم البكتشربوكس الى أي أداة تريد .

PHP كود :
   Private Sub Form1_MouseMove(sender As ObjectAs MouseEventArgsHandles Me.MouseMove
        Windows
.Forms.Cursor.Position = New Point(PictureBox1.Width Me.Location.PictureBox1.Location.X_
                                          PictureBox1
.Height Me.Location.PictureBox1.Location.Y)
 
   End Sub 

هل جربت الكود الذي وضعته انا فوق اخي
جربه لتفهم سؤالي
الكود الخاص بك للاسف لا يحسر الموس
جرب كودي لتفهمني
هذه المرة الكود مكفول و مجرب :

PHP كود :
   Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
        Dim rc 
PictureBox1.RectangleToScreen(New Rectangle(Point.Empty, PictureBox1.ClientSize))
 
       Cursor.Position = New Point(rc.Left rc.Width 2rc.Top rc.Height 2)
 
       Cursor.Clip rc
        PictureBox1
.Capture True
    End Sub 
لإلغاء قفل الماوس ضع هذا الكود مكفول أيضا :
PHP كود :
   Private Sub Button3_Click(sender As ObjectAs EventArgsHandles Button3.Click
        Cursor
.Clip = New Rectangle(0000)
 
   End Sub 
السلام عليكم اخوتي
الاخ bidaya  والاخ عاصم  مشكورين على ماقدمتماه  من اكواد ادت الى نفس الغرض بخلاف طول الاكواد 
طبعا الاصح في البرمجة هو الكود المختصر
هنا لدي سؤال من باب العلم بالشيء وربما لم يخطر ببالي الفائدة من هكذا كود او الغاية منه 
فحصر الماوس ضمن مساحة ضيقة يعني الحركة الاجبارية او الاختيار الاجباري او تنفيد مايقع تحت حكم الماوس غصبا عن المستخدم
وان كان هناك فائدة اخرى تعرفانها فأرجو منكما فضلا لاأمرا اطلاعنا عليها ليتسنى لنا الاستفادة ولكما أحسن الجزاء
دمتما بخير
(01-02-19, 09:44 PM)asemshahen5 كتب : [ -> ]هذه المرة الكود مكفول و مجرب :

PHP كود :
   Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
        Dim rc 
PictureBox1.RectangleToScreen(New Rectangle(Point.Empty, PictureBox1.ClientSize))
 
       Cursor.Position = New Point(rc.Left rc.Width 2rc.Top rc.Height 2)
 
       Cursor.Clip rc
        PictureBox1
.Capture True
    End Sub 
لإلغاء قفل الماوس ضع هذا الكود مكفول أيضا :
PHP كود :
   Private Sub Button3_Click(sender As ObjectAs EventArgsHandles Button3.Click
        Cursor
.Clip = New Rectangle(0000)
 
   End Sub 
 

نعم اخي الكريم الكود جد ممتاز
الله يجازيك كل خير

(01-02-19, 10:03 PM)ابراهيم ايبو كتب : [ -> ]
السلام عليكم اخوتي
الاخ bidaya  والاخ عاصم  مشكورين على ماقدمتماه  من اكواد ادت الى نفس الغرض بخلاف طول الاكواد 
طبعا الاصح في البرمجة هو الكود المختصر
هنا لدي سؤال من باب العلم بالشيء وربما لم يخطر ببالي الفائدة من هكذا كود او الغاية منه 
فحصر الماوس ضمن مساحة ضيقة يعني الحركة الاجبارية او الاختيار الاجباري او تنفيد مايقع تحت حكم الماوس غصبا عن المستخدم
وان كان هناك فائدة اخرى تعرفانها فأرجو منكما فضلا لاأمرا اطلاعنا عليها ليتسنى لنا الاستفادة ولكما أحسن الجزاء
دمتما بخير

نعم اخي الكريم نحن نتعلم ونناقش اي شيء هنا لتعم الفائدة
انا فكرتي ان اجبر المستخدم ان ينقر على زر عند فتح البرنامج
فهذا كود حصر الماوص تم ت كتابته من طرف الاخ الكريم [b]asemshahen5[/b] 

الان سابحث على كود يجعل الموس ينقر تلقائيا
الصفحات : 1 2