منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
حصر الماوس - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : حصر الماوس (/showthread.php?tid=28427)

الصفحات: 1 2


حصر الماوس - bidaya - 31-01-19

السلام عليكم
ابحث على كود حصر  الماوس مثلا داخل PictureBox1 او اي ادات من الادوات



RE: حصر الماوس - asemshahen5 - 01-02-19

ضع هذا الكود في حدث Resize أو أي حدث تريده :

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



RE: حصر الماوس - bidaya - 01-02-19

(01-02-19, 01:45 AM)asemshahen5 كتب : ضع هذا الكود في حدث Resize أو أي حدث تريده :

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

معذرتا اخي الكريم
انا قاصد حصر الماوس داخل ادات من الادوات


RE: حصر الماوس - asemshahen5 - 01-02-19

أعتذر عن سوء الفهم تفضل هذا الكود : 

PHP كود :
       Windows.Forms.Cursor.Position = New Point(PictureBox1.Width Me.Location.PictureBox1.Location.X_
                                          PictureBox1
.Height Me.Location.PictureBox1.Location.Y



RE: حصر الماوس - bidaya - 01-02-19

للاستفادة
هذا كود لحصر الماوس داخل الفورم




كود :
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


هل يمكن التعديل عليه وجعله على بانل مثلا او بكتر بوكس



RE: حصر الماوس - asemshahen5 - 01-02-19

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

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 



RE: حصر الماوس - bidaya - 01-02-19

(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 

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


RE: حصر الماوس - asemshahen5 - 01-02-19

هذه المرة الكود مكفول و مجرب :

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 



RE: حصر الماوس - ابراهيم ايبو - 01-02-19

السلام عليكم اخوتي
الاخ bidaya  والاخ عاصم  مشكورين على ماقدمتماه  من اكواد ادت الى نفس الغرض بخلاف طول الاكواد 
طبعا الاصح في البرمجة هو الكود المختصر
هنا لدي سؤال من باب العلم بالشيء وربما لم يخطر ببالي الفائدة من هكذا كود او الغاية منه 
فحصر الماوس ضمن مساحة ضيقة يعني الحركة الاجبارية او الاختيار الاجباري او تنفيد مايقع تحت حكم الماوس غصبا عن المستخدم
وان كان هناك فائدة اخرى تعرفانها فأرجو منكما فضلا لاأمرا اطلاعنا عليها ليتسنى لنا الاستفادة ولكما أحسن الجزاء
دمتما بخير



RE: حصر الماوس - bidaya - 02-02-19

(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] 

الان سابحث على كود يجعل الموس ينقر تلقائيا